linux

linux下的端口转发

  • 启用网卡转发功能
  • 修改/etc/sysctl.conf文件,配置如下:

    # Controls IP packet forwarding
    net.ipv4.ip_forward = 0

    配置生效:

    sysctl -p
  • 端口转发
  • 通过修改iptables来实现端口转发的,而端口转发分为两种,相同端口转发,和不同端口转发。
    下面分别进行举例,假设本机的ip为192.168.0.19,端口为3306和13306,目标ip为192.168.0.30,端口为3306。
    相同端口转发:

    #3306 to 3306
    iptables -t nat -I PREROUTING -p tcp --dport 3306 -j DNAT --to 192.168.0.30
    iptables -t nat -I POSTROUTING -p tcp --dport 3306 -j MASQUERADE

    不同端口转发:

    #13306 to 3306
    iptables -t nat -A PREROUTING -p tcp -m tcp --dport 13306 -j DNAT --to-destination 192.168.0.30:3306
    iptables -t nat -I POSTROUTING -p tcp --dport 3306 -j MASQUERADE
  • 重启iptables
  • services iptables restart

    1 Comment

    1. 端口映射也支持单个端口的情况,但这里通常所说的是多个端口批量映射的情况,局域网和广域网端口相同。而通用路由器,为了实现共享上网,NAT是必须支持的功能,同时为了提高网络吞吐的效率,默认是使用动态NAT的,因此一般情况下,用户不用关心这些问题,路由器已经完全做好了共享上网的准备。   对于Windows Server 2008以下版本的系统,需要安装IPV6才行,如果是Windows Server 2008或者以上的系统则默认已经支持。

    Leave a Reply

    黑ICP备15001596号