当前位置: > Linux教程 > Linux学习 >

linux 双网卡共享上网

时间:2017-02-05 21:36来源:linux.it.net.cn 作者:IT
一、网络拓补结构:
服务器:两网卡的设置:
eth0:202.96.168.100 掩码:255.255.255.0 网关:202.96.168.68 #与 Inte.Net 相联
eth1:192.168.1.1 掩码:255.255.255.0 #与局域网相联
客户机子网段:192.168.1.0/255

二、服务器设置:(这两种方法任选其一即可)
2.1、用NAT方法
在服务器上执行下面几条命令:
echo "1" > /proc/sys.Net/ipv4/ip_forward #打开IP转发,1表示转发;0表示不转发
上面这个命令也可以通过修改/etc/sysctl.conf实现,在文件中加上下面一行:
net.ipv4.ip_forward = 1

其余命令是:
iptables -F

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #打开NAT ,用于dhcp
(iptables -t nat -A POSTROUTING -o eth0 -s 192.168.198.0/24 -j SNAT --to 59.64.176.28 #59.64.176.28为外网静态ip)

2.2、用网桥方法:
echo "1" > /proc/sys.Net/ipv4/ip_forward
ifconfig eth0 0.0.0.0 up
ifconfig eth1 0.0.0.0 up
brctl addbr br0 #添加一个网桥
brctl addif br0 eth0
brctl addif br0 eth1 #将eth0 eth1加到网桥中去
ifconfig br0 192.168.1.1.Netmask 255.255.255.0 broadcast 192.168.1.255 up #给网桥分配IP地址,如果不做NAT,也不需要远程访问网桥的话,可以不设IP地址,但必须启用网桥(ifconfig br0 up)
route add default gw 202.96.168.68 #如果网桥不需要访问其他机器的话,可以不添加网关。

三、客户机设置:
eth0:192.168.1.10 掩码:255.255.255.0 网关:192.168.1.1

四、iptables命令参考:

iptables命令格式
iptables [-t nat] CMD [chain] [rule-matcher] [-j target]

-t nat:表示操作nat表

CMD:为操作命令

chain:为链名

rule-matcher:为规则匹配器

target:为目标动作

iptables -t nat -F #清除原有的nat表中的规则
iptables -F #清除原有的filter有中的规则
iptables -P FORWARD ACCEPT #缺省允许IP转发

五、配置感想
按照NAT 的方法,很快配置完成,并且可以顺利上网。对于那些对于网络配置没什么特殊要求的用户,可以选用NAT方法,简单实用。
补充:
如果想在代理机器重启后,仍然能够上网,就需要将这些命令写入到某些文件中,具体如下:
在/etc/sysctl.conf文件中加上下面一行,打开ip 转发功能:
net.ipv4.ip_forward = 1

在/etc/rc.local 文件中将其余的命令添加到文件中,例如将下面命令添加进去,实现NAT方式共享上网。
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #打开NAT



       设置完之后有可能出现的情况:
      从机能ping通代理机器的出口地址,也能ping通互联网网站ip,如sina的地址121.194.0.205,但是直接ping www.sina.com连接超时。
问题解决:

      从机未设置dns的问题,在/etc/resolv.conf文件中添加相关项即可。添加内容可参照代理机器的内容设置。     


(责任编辑:IT)
------分隔线----------------------------