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)
一、网络拓补结构: 服务器:两网卡的设置: 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) |