1. 程式人生 > >CentOS 7配置成網關服務器

CentOS 7配置成網關服務器

規則 color rip all sysctl 生效 etc gateway 情況

其實在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。

CentOS 7配置成網關服務器