CentOS系统NAT共享上网

来源:互联网 发布:手机怎样关闭淘宝店铺 编辑:程序博客网 时间:2024/04/28 08:04

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.1DNS1:211.69.143.1DNS2: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-eth1ONBOOT=yes

1.3 将服务器A的ppp0网络进行NAT共享

使用iptables命令来对ppp0进行网络共享。

生成文件 /usr/local/bin/ishare 并使其可执行,执行该命令,即可共享 ppp0 网络。# echo '#!/bin/bash## Internet connection shating scriptsysctl -w net.ipv4.ip_forward=1sysctl -piptables -Xiptables -Fiptables -t nat -Xiptables -t nat -Fiptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -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.1DNS1:211.69.143.1DNS2:8.8.8.8修改 eth1 的配置文件,设置这该网口开机启动:# vi /etc/sysconfig/network-scripts/ifcfg-eth1ONBOOT=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没有联网。需要按照上述教程逐步排查。

0 0