0%

用iptables中转流量

今天折腾了下用iptables中转流量的事情,先把命令记录在这里,以后再来精简

首先开启ip转发(在中转服务器上面操作)

  • 编辑/etc/sysctl.conf,设置或打开net.ipv4.ip_forward=1
    • $ sudo sysctl -p使修改文件后设置生效
  • 或者 $ sudo sysctl -w net.ipv4.ip_forward=1,重启后无效
  • 或者 echo "1" > /proc/sys/net/ipv4/ip_forward,这种直接修改内核方式重启后无效

流量中转,在中转服务器上执行下面规则

1
2
3
4
sudo iptables -t nat -A PREROUTING  -p tcp --dport 中转端口 -j DNAT --to-destination 目标服务器:目标端口
sudo iptables -t nat -A PREROUTING -p udp --dport 中转端口 -j DNAT --to-destination 目标服务器:目标端口
sudo iptables -t nat -A POSTROUTING -p tcp -d 目标服务器 --dport 目标端口 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -p udp -d 目标服务器 --dport 目标端口 -j MASQUERADE

ipsec vpn服务器需要中转500,4500两个端口的udp流量