ubuntu做主机双网卡共享上网方法

来源:互联网 发布:保险代理软件 编辑:程序博客网 时间:2024/04/30 04:49

一、网络拓补结构: (注:如果是无线网卡连接内网,eth0改为wlan0,不清楚自己的网卡是哪个用命令ifconfig -a 查询)
服务器:两网卡的设置:
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

掩码:255.255.255.0

网关:192.168.1.1

DNS:当地的DNS服务器的ip地址

二、服务器设置:(这两种方法任选其一即可)
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,无线网卡这里大eth0改wlan0

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
转自:http://blog.sina.com.cn/s/blog_7285600f0100ru05.html