Linux使用SNAT实现局域网上网

1、一台能上网的Linux机器

2、操作步骤

host-10-11

  • 配置snat,开启路由转发

    1
    2
    3
    4
    iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o ens34 -j MASQUERADE
    # -s 指定内网网段
    # -o 指定能上公网的出口网卡名称
    echo "1" > /proc/sys/net/ipv4/ip_forward

host-10-12

  • 添加网关指向10.10.10.11

    1
    2
    3
    4
    route add default gw 10.10.10.11
    # 或者
    echo 'GATEWAY=10.10.10.11' >> /etc/sysconfig/network
    # 重启网卡

备注

  • 永久开启路由转发

    1
    2
    echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
    sysctl -p
  • 地址伪装

    1
    2
    3
    4
    5
    6
    iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to-source 218.29.30.31
    # 地址伪装——MASQUERADE
    # 适用于外网 IP 地址非固定的情况
    # 对于 ADSL 拨号连接,接口通常为 ppp0、ppp1
    # 将 SNAT 规则改为 MASQUERADE 即可,即将原地址实时的转换为动态的公网 IP,如下命令
    iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2024 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信