使用iptables转发流量

转自:https://wiki.olvps.com/?p=433

在使用iptables转发流量之前请执行如下命令:

sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
sysctl -p

然后我们清除下所有默认的iptables表:

iptables -F
iptables -t nat -F
service iptables save

iptables相同端口转发命令:

iptables -t nat -A PREROUTING -p tcp --dport [端口号] -j DNAT --to-destination [目标IP]
iptables -t nat -A PREROUTING -p udp --dport [端口号] -j DNAT --to-destination [目标IP]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [端口号] -j SNAT --to-source [中转服务器IP]
iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [端口号] -j SNAT --to-source [中转服务器IP]

不同端口:

iptables -t nat -A PREROUTING -p tcp --dport [源端口号] -j DNAT --to-destination [目标IP:目标端口号]
iptables -t nat -A PREROUTING -p udp --dport [源端口号] -j DNAT --to-destination [目标IP:目标端口号]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [目标端口号] -j SNAT --to-source [中转服务器IP]
iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [目标端口号] -j SNAT --to-source [中转服务器IP]

#注意:执行完毕后,必须进行保存 请使用 service iptables save 进行保存。

以下是一个实例(这里我们的应用端口为50020~50029,我们使用520022测试转发另外一个IP的6053端口,我们的主IP为:192.168.5.2,转发服务器IP为:1.1.1.1):

iptables -t nat -A PREROUTING -p tcp --dport 50022 -j DNAT --to-destination 1.1.1.1:6053
iptables -t nat -A PREROUTING -p udp --dport 50022 -j DNAT --to-destination 1.1.1.1:6053
iptables -t nat -A POSTROUTING -p tcp -d 1.1.1.1 --dport 6053 -j SNAT --to-source 192.168.5.2
iptables -t nat -A POSTROUTING -p udp -d 1.1.1.1 --dport 6053 -j SNAT --to-source 192.168.5.2
service iptables save
  • 280 Users Found This Useful
這篇文章有幫助嗎?

相關文章

CentOS7配置IPV6

请将/etc/sysconfig/network的内容修改为: # Generated by...

CentOS6&Ubuntu14.04&Ubuntu16.04配置IPV6

当安装完成系统后,请执行以下命令即可使用ipv6: ip -6 route add default via fe80::1 dev eth0

关于国内SSH链接登陆缓慢问题解决方案

转自:https://wiki.olvps.com/?p=427 请执行以下命令: sed -i 's@^#UseDNS yes@UseDNS no@'...

国内NAT使用命令指定走不同出口

转自:https://wiki.olvps.com/?p=385 我们假设已申请另外一个出口,另外设定 172.16.5.2(内网联通) 为默认IP ,172.16.4.2(内网电信)...