1. 程式人生 > >CentOS 7配置成閘道器伺服器

CentOS 7配置成閘道器伺服器

其實在Linux下配置閘道器伺服器很簡單,如果配置好之後出現無法訪問外網的情況,那麼可以排查以下情況:

1、防火牆和iptables的服務關掉(firewalld、iptables)

2、清空iptables的規則(iptables -F、iptables -X、iptables -F -t nat、iptables -X -t nat)

3、轉發開啟(/etc/sysctl.conf-> net.ipv4.ip_forward=1)

通過以上的配置一般可以配置成功。

下面是實驗環境:

說明一下,閘道器可以兩個網絡卡,同樣也不一定需要兩個網絡卡,一張網絡卡也是可以的。

PC1:

eth0:192.168.104.12/255.255.255.0/192.168.104.1,DNS:8.8.8.8

PC2:

eth0:192.168.104.13/255.255.255.0/192.168.104.12,DNS:8.8.8.8

下面是實際配置:

PC1:

# 開啟轉發
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
# 生效
sysctl -p
# 配置iptables做SNAT,下面有兩種方式,推薦用第二種,比較清晰
# 1、使用MASQUERADE
iptables -t nat -I POSTROUTING -j MASQUERADE
# (不需要設定)可以指定哪個網絡卡 iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE # (不需要設定)也可以指定具體的網段做SNAT iptables -t nat -I POSTROUTING -s 192.168.104.0/24 -j MASQUERADE # 2、(推薦這種)指明SNAT的具體IP iptables -t nat -I POSTROUTING -j SNAT --to-source 192.168.104.12 # (不需要設定)可以指定哪個網絡卡 iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source
192.168.104.12 # (不需要設定)也可以指定具體的網段做SNAT iptables -t nat -I POSTROUTING -s 192.168.104.0/24 -j SNAT --to-source 192.168.104.12

PC2:

此時只需要在/etc/sysconfig/network-script/ifcfg-eth0修改GATEWAY=192.168.104.12,也就是修改閘道器地址。

 

總結:

1、其實如果你時間過一張網絡卡的情況時,那麼你會發現只要開啟了核心轉發功能之後不需要配置iptables也是可以行的。

2、當兩張網絡卡是情況,實體機,一張連線外網,一張內網連線交換機,再連線多個子PC,此時iptables就是必須的,且SNAT也必須為外網網絡卡IP。