闲者博客 - nth https://bk1314.com/tag/nth/ LINUX IPTABLES 服务器多IP解决循环出口IP,否则永远是主IP请求别人机器 https://bk1314.com/61.html 2022-03-11T21:22:00+08:00 希望:实现对外发送请求时,对方看到我的出口ip每次都是不一样的,多个ip轮训作为出口IP方案:iptables的nth模块more一.查看防火墙状态 service firewalld status(disabled 表明 已经禁止开启启动 enable 表示开机自启,inactive 表示防火墙关闭状态 activated(running)表示为开启状态)安装iptables防火墙及操作:yum install iptables-services常用命令如下:systemctl start iptables #启动systemctl status iptables #查看运行状态systemctl restart iptables.service #重启systemctl stop iptables.service #停止systemctl enable iptables.service #设置开机启动systemctl disable iptables.service #禁止开机启动iptables -F -t nat #清空nat规则 也就是下面的多IP设置的规则里面二.查看服务器请求外网IPcurl icanhazip.com多执行几次看看是不是同一个三.要多IP服务器循环出口IP /sbin/iptables -t nat -I POSTROUTING -m state --state NEW -p tcp -m multiport --dports 80,443 -o eth0 -m statistic --mode nth --every 1 --packet 0 -j SNAT --to-source 122.52.62.33 #解释上面命令意思: --dports 80,443意思80和443 意思请求别人的这些端口就循环IP -o eth0 这个是你网卡 出口网卡哦 --every 1 这个数字1是代表第一条IP 如果你输入多次就每次数字叠加 --to-source 122.52.62.33 你多个IP其中一个IP 列如我现在添加第二条 /sbin/iptables -t nat -I POSTROUTING -m state --state NEW -p tcp -m multiport --dports 80,443 -o eth0 -m statistic --mode nth --every 2 --packet 0 -j SNAT --to-source 122.52.62.34四.执行后记得需要保存service iptables save(好了 你可以尝试curl icanhazip.com看看 每次IP都不一样了,注意哦 防火墙需要启动哦)