首页 » 编程世界 » 服务器编程 » 正文

linux基于防火墙做端口转发

  1. 设置ipv4.ip_forward
    1. 我们需要通过访问sysctl的内核ipv4.ip_forward来判断转发是否开启,cat /proc/sys/net/ipv4/ip_forward,如果返回值为0,则代表没有开启
    2. 修改/etc/sysctl.conf ,新增或修改net.ipv4.ip_forward = 1,,然后保存文件,执行sysctl -p /etc/sysctl.conf,让结果生效
  2. 设置防火墙
    1. 添加命令:
      • iptables -t nat -I PREROUTING -p tcp –dport 代理端口 -j DNAT –to 目标IP:目标端口
      • iptables -t nat -I POSTROUTING -p tcp –dport 目标端口 -j MASQUERADE;
    2. 例如,做mysql 3306 端口转发;
      • iptables -t nat -I PREROUTING -p tcp –dport 3306 -j DNAT –to 192.168.1.1:3306
      • iptables -t nat -I POSTROUTING -p tcp –dport 3306 -j MASQUERADE


发表评论

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据