需求, 局域网内 的主机通过 61 这台主机实现上网。
第一步配置 61:
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.61
这是在出去的时候 设置 (如果有 172网段来访问我,我就转为 源地址 10.0.0.61)
-s 来源: 是 172.16.1.0网段
-j SNAT : 做源地址转换
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
把forwad 打开 ,我们是172段转化为10段的, 就是内部的转化,要打开。
sysctl -p
第2步 配置 172网段的机器
比172.16.1.7 这台主机
设置7 这台机器的网关为 61的 10.0.0.61
(61就是做源地址转换- 172访问外网的 源地址 转化为 61)
配置 eth0 网卡 ,关闭 开机自动启动:
cat /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT= 改为NO
配置eth1网卡: 更改网关。
GATEWAY=172.16.1.61
注意
DNS1=1.2.4.8 (DNS必须要解析 ,可以是 223.5.5.5)
更改后 重启网卡:
systemctl restart network
这个时候我们本地的 xshell 连接不上了,需要通过web02 来登录web01来测试。
直接Ping baidu
注意, 如果公网不固定需要写这个命令:
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
遗留问题:
配置完成后, ping 本机 61 是不通的, 不知什么原因。 (待解决)