Linux使用SNAT实现局域网上网
1、一台能上网的Linux机器
2、操作步骤
host-10-11
配置snat,开启路由转发
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
route add default gw 10.10.10.11 # 或者 echo 'GATEWAY=10.10.10.11' >> /etc/sysconfig/network # 重启网卡
备注
永久开启路由转发
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p
地址伪装
# 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