一、背景
局域网内,其他机器都没有没有外网,其中只有一台服务器可以上外网,其他机器通过将网关设置为可以上外网的机器IP,实现上外网
二、在能上外网机器配置
开启路由转发
# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
# sysctl -p
配置路由转发
如果使用iptables(临时生效,重启失效)
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
对来自 192.168.0.0/24 网段的数据包,做SNAT,地源地址伪装为封包出去(-o)的那块装置上的IP
不管现在eth0的出口获得了怎样的动态IP,MASQUERADE会自动读取eth0现在的IP地址然后做SNAT出去,实现动态SNAT地址转换
注:根据实际情况修改网卡名eth0和局域网网段 192.168.0.0/24
如果使用firewalld
# firewall-cmd --zone=trusted --add-interface=eth0 --permanent
# firewall-cmd --zone=trusted --add-masquerade --permanent
# firewall-cmd --reload (永久生效)
三、在其他不能上外网机器
将网关设置为可以上外网的机器IP
# vim /etc/sysconfig/network
###############################
GATEWAY=xx.xx.xx.xx
###############################
xx.xx.xx.xx为可以上外网的机器IP
重启network
# systemctl restart network
网友评论