利用iptables做端口转发

需求背景:

  A与C不在同一网段无法直接访问,而A和B,C和B可以互通。现需要A借助B访问C的3306端口。

 

解决方案:

  利用iptables配置规则,实现端口转发。

 

具体操作:

在B上开启端口转发功能:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    或 
    vim /etc/sysctl.conf,修改net.ipv4.ip_forward = 1
    sysctl -p
开启B的23306(或其他合适的端口):
    iptables -A INPUT -p tcp -m tcp --dport 23306 -j ACCEPT
配置路由转发规则:
    iptables -t nat -A PREROUTING -p tcp -m tcp --dport 23306 -j DNAT --to-destination C:3306
    iptables -t nat -A POSTROUTING -p tcp -m tcp -d C --dport 3306 -j SNAT --to-source B

 

posted @ 2018-03-01 10:21  lichmama  阅读(281)  评论(0编辑  收藏  举报