双网卡(一公网,一内网)linux使用iptalbes做流量代理转发,代理流量使用局域网传输减小延迟
作者:互联网
server1:公网IP:10.10.10.1;私网IP:192.168.1.1(局域网无需配置网关)
server2:公网IP:20.20.20.1;私网IP:192.168.1.2(局域网无需配置网关)
linux下使用iptables配置流量转发必须开启路由转发功能(转发服务器配置即可,此例为server1)
编辑/etc/sysctl.conf文件,添加net.ipv4.ip_forward=1
echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
sysctl -p使配置生效
使用iptables配置端口流量转发(转发服务器配置即可,此例为server1)
如将10.10.10.1的1000-10000端口的流量映射到20.20.20.1的1000-10000端口上
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 1000:10000 -j DNAT --to-destination 20.20.20.1:1000-10000
iptables -t nat -A PREROUTING -p udp -m udp --dport 1000:10000 -j DNAT --to-destination 20.20.20.1:1000-10000
iptables -t nat -A POSTROUTING -d 20.20.20.1 -p tcp -m tcp --dport 1000:10000 -j SNAT --to-source 10.10.10.1
iptables -t nat -A POSTROUTING -d 20.20.20.1 -p udp -m udp --dport 1000:10000 -j SNAT --to-source 10.10.10.1
iptables-save保存配置
iptables -t nat -L查看配置
配置静态路由,使流量通过局域网传输
server1:ip route add 20.20.20.1/32 via 192.168.1.2
server2:ip route add 10.10.10.1/32 via 192.168.1.1
配置后查看server1到server2的公网IP延迟与局域网延迟相同,证明配置完成
检查流量转发是否成功,可以通过在server2上启动1001端口的服务,通过10.10.10.1:1001访问,访问成功及表明流量转发成功
参考文章:https://www.huiyingwu.com/378/
-----------日常记录---------------
标签:iptables,20.1,10000,20.20,转发,代理,流量,公网,1000 来源: https://blog.csdn.net/w50feng/article/details/106234894