闲者博客 - IPTABLES
https://bk1314.com/tag/IPTABLES/
-
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都不一样了,注意哦 防火墙需要启动哦)