目标:只有一个网络端口,实现三台单网卡服务器s,y,l上网。

原理:用其中一台作为网关服务器,用虚拟网卡实现NAT

过程:

  1. 网关服务器联网
vim /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
MACADDR="f4:8e:38:b2:59:30"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="p4p1"
UUID="22345ec5-e186-4b88-a6bf-a8cae458f699"
DEVICE="p4p1"
ONBOOT="yes"
IPV6_PRIVACY="no"

2. 配置虚拟网卡p

ifconfig eth0:0 192.168.1.1

3. 设置转发iptables

iptables -I FORWARD 1 -s 192.168.1.0/24 -j ACCEPT
iptables -I FORWARD 1 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -I POSTROUTING 1 -s 192.168.1.0/24 -o eth0 -j MASQUERADE

#保存规则
iptables-save 

4. 其他服务器接入

vim /etc/sysconfig/network-scripts/ifcfg-em1

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPADDR="192.168.1.3"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS1="202.114.0.131"
DNS2="202.114.0.242"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="em1"
UUID="45808b43-b049-4e9d-a19d-83583d474ae8"
DEVICE="em1"
ONBOOT="yes"

问题排查:

若可以ping通外网ip却不能ping通域名,检查是否设置DNS,另外需要注意,在设置iptables时需要插入新规则,而不是添加-A,防止新增规则不生效。r