CentOS系统NAT共享上网

现在有服务器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共享

首先,修改配置文件/etc/sysctl.conf的一个参数来开启使用NAT进行IP转发。

$ perl -p -i -e 's/net.ipv4.ip_forward =.*/net.ipv4.ip_forward = 1/' /etc/sysctl.conf

再使用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没有联网。需要按照上述教程逐步排查。

匿名进行回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据