Github 地址: https://github.com/yongboy/bindp
基于 LD_PRELOAD
机制,可以作用于:
特性如下:
- 绑定制定 IP 地址和端口
- 添加
SO_REUSEADDR
特性支持 - 添加
SO_REUSEPORT
特性支持 - 添加
IP_TRANSPARENT
特性支持
下载编译:
git clone https://github.com/yongboy/bindp.git
cd bindp
make
使用方式:
假设本地多个可用 IP 地址包含 10.10.10.10 ,并且假设端口 49999 没被占用,那么我们可以在作为客户端访问远程服务器时进行制定 IP 地址和端口:
REUSE_PORT=1 BIND_ADDR="10.10.10.10" BIND_PORT=49999 LD_PRELOAD=/the_path/libindp.so nc 10.10.10.11 80
假设 Nginx 配置监听 80 端口,不想修改配置文件的话而使之监听 9090 端口,我们可以这样做:
BIND_PORT=9090 LD_PRELOAD=/your_path/libindp.so /usr/sbin/nginx -c /etc/nginx/nginx.conf
更多用法,请直接参考文档: https://github.com/yongboy/bindp
相关博文
推荐 bindp,为 Linux 上运行的程序绑定 IP 地址和端口