双网卡(一公网,一内网)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/

-----------日常记录---------------

猜你喜欢

转载自blog.csdn.net/w50feng/article/details/106234894