歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> CentOS系統NAT共享上網

CentOS系統NAT共享上網

日期:2017/3/3 12:55:18   编辑:Linux技術

CentOS系統NAT共享上網

時間 2016-01-05 17:40:20
寵辱不驚,一心問學!
原文 http://www.chenlianfu.com/?p=2411
主題
網絡地址轉換 Centos
現在有服務器A通過PPPOE聯網,而服務器B直接和服務器A使用網線連接。若需要使B能正常上網,則需要將A的網絡共享給B。此外,服務器A和B都具有多網口,並都是CentOS系統。將服務器A的網絡共享給B,其對兩台服務器的設置如下:

1. 服務器A的設置

1.1 服務器A的第一個網口進行pppoe連接

將網線插入到服務器A的第一個網口eth0,然後設置服務器A的PPPOE連接:
安裝pppoe軟件
# yum install rp-pppoe
配置pppoe設置,填寫上網賬號和密碼,該pppoe配置名稱為ppp0,保證對應的網口為eth0,設置。
# pppoe-setup
關閉ppp0的連接
# ifdown ppp0
開啟ppp0的連接
# ifup ppp0
若發現ppp0連接不上,輸入下面命令後再連接
# pppoe-stop

1.2 服務器A的第二個網口的IP設置

再將服務器A的eth1口和服務器B的eth1口進行連接。對服務器A的eth1口進行設置:
# setup
通過setup命令配置eth1的IP,設置其:
IP地址:192.168.1.1
子網掩碼:255.255.255.0
網關:192.168.1.1
DNS1:211.69.143.1
DNS2:8.8.8.8

其中DNS1是我們學校提供的DNS服務器網址,DNS2是google提供的DNS網址。可能在不同的地方其DNS網址不一樣。
然後,修改 eth0 和 eth1 的配置文件,設置這兩個網口開機啟動:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
ONBOOT=yes

1.3 將服務器A的ppp0網絡進行NAT共享

使用iptables命令來對ppp0進行網絡共享。
生成文件 /usr/local/bin/ishare 並使其可執行,執行該命令,即可共享 ppp0 網絡。
# echo '#!/bin/bash
## Internet connection shating script
sysctl -w net.ipv4.ip_forward=1
sysctl -p
iptables -X
iptables -F
iptables -t nat -X
iptables -t nat -F
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE' > /usr/local/bin/ishare
# chmod 755 /usr/local/bin/ishare
# /usr/local/bin/ishare

若需要開機則啟動該命令:
# echo '/usr/local/bin/ishare' >> /etc/rc.d/rc.local

1.4 重啟服務器A的網絡設置

服務器A的配置修改完畢,然後重啟服務器A的網絡,使配置生效:
# /etc/init.d/network restart
保證看到pppoe和eth1網絡的正常啟動。

2. 服務器B的設置

配置服務器B的 eth1 網口:
# setup
通過setup命令配置eth1的IP,設置其:
IP地址:192.168.1.2
子網掩碼:255.255.255.0
網關:192.168.1.1
DNS1:211.69.143.1
DNS2:8.8.8.8

修改 eth1 的配置文件,設置這該網口開機啟動:
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
ONBOOT=yes

再重啟重啟服務器B的網絡設置
# /etc/init.d/network restart
保證看到eth1網絡的正常啟動。

3. 會出現的問題

以上設置完畢後,通過 ping 命令來檢測服務器B是否能聯網。若服務器ping不通192.168.1.1,則表示服務器B和服務器A連接不通;若能ping通192.168.1.1而不能聯外網,則表示服務器A沒有開啟共享或服務器A沒有聯網。需要按照上述教程逐步排查。
Copyright © Linux教程網 All Rights Reserved