ubuntu做主机双网卡共享上网方法(9.04/9.10测试通过)

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
头像
jaysureu
帖子: 5
注册时间: 2010-07-13 14:16

Re: ubuntu做主机双网卡共享上网方法(9.04/9.10测试通过)

#16

帖子 jaysureu » 2011-01-28 0:34

感谢LZ分享。将eth1网卡换成wlan0无线网卡同样适用。 :em11
头像
874768078abel
帖子: 101
注册时间: 2009-08-07 17:39

Re: ubuntu做主机双网卡共享上网方法(9.04/9.10测试通过)

#17

帖子 874768078abel » 2011-07-04 18:13

两台机器都是ubuntu
主机(宿主机)eth0连外网,adsl拨号上网;eth1连接客户机
1、这是我eth0的/etc/network/interfaces配置:
auto lo
iface lo inet loopback

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

auto eth0
iface eth0 inet manual
2、加上
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 162.168.0.255
(我发现networkmanager显示连接上的时候(这时客户机不能上网)查看连接信息有最后这一项)
3、/etc/sysctl.conf,在文件中加上下面一行:
net.ipv4.ip_forward = 1
把前面原有的#去掉就可以了
4、

代码: 全选

sudo /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
这一句改成

代码: 全选

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
即24改成16,eth0换成ppp0, 我是pppoe虚拟拨号上网(NAT,即网络地址转换)题外:IPv4被保留的私有IP地址空间:
A类 10.0.0.0到10.255.255.255
B类 172.16.0.0到172.31.255.255
C类 192.168.0.0到192.168.255.255
5、/etc/rc.local文件,添加到exit 0之前
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
原来是这样,我想自己不是固定ip,改成加下面的四行
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
6、客户机eth0的/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
nameserver 202.102.152.3
broadcast 192.168.0.255
用Wicd Network Manager 增加名为family连接,属性
IP 192.168.0.2
子网掩码 255.255.255.0
网关 192.168.0.1
DNS1 202.102.152.3
DNS2 202.102.154.3
7、

代码: 全选

sudo /etc/init.d/networking restart
目的是验证网络参数设置是否完整正确
最终是成功联网了,经验还不成熟。中间哪些是必要的
粘贴一点资料
Internet 连接共享。
这可以用单条 iptables 规则来完成,也许基于您网络配置来说会有一些小的差异:
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
上述命令假设您的私有地址空间是192.168.0.0/16,您与 Internet 相连的设备是 ppp0。语法分解如下所示:
* -t nat -- 该规则将进入 nat 表
* -A POSTROUTING -- 该规则将被追加 (-A) 到 POSTROUTING 链
* -s 192.168.0.0/16 -- 该规则将被应用在源自指定地址空间的流量上
* -o ppp0 -- 该规则应用于计划通过指定网络设备的流量。
* -j MASQUERADE -- 匹配该规则的流量将如上所述 "跳转" (-j) 到 MASQUERADE (伪装) 目标。
在过滤表 (缺省表,在那里有着大多数或全部包过滤指令) 中的每条链 (chain) 都有一个默认的 ACCEPT 策略,但如果您还在网关设备上设置防火墙,那么您也许还要设置 DROP 或 REJECT 策略,这时您被伪装过的流量还需要被 FORWARD 链 (chain) 中的规则允许才能正常工作:
sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT
sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT
上次由 874768078abel 在 2011-07-18 8:02,总共编辑 4 次。
tt320
帖子: 1
注册时间: 2011-07-07 17:20

Re: ubuntu做主机双网卡共享上网方法(9.04/9.10测试通过)

#18

帖子 tt320 » 2011-07-07 17:24

xxx9956 写了:双网卡是成本比较低的双机共享方法,对于没有交换机的用户来说比较方便,在XP下双网卡共享比较简单,只需要ICS共享或者桥接即可,在ubuntu下略显麻烦,不过配置好以后和XP下一样轻松。

此方法参考多人经验,尽量把高手们容易忽略不说的地方都写下来,并多次测试完善,尽可传奇SF能让每个新手都能看懂学会。

对新手来说,下面每个文件打开都需要root权限,否则不能保存,如果没有用root用户,也可以在终端输入
sudo gedit,然后加个空格,再把该文件拖到终端窗口,回车打开,即可修改保存。

1.设定IP

打开/etc/network/interfaces文件,这是Ubuntu的网卡配置文件,里面包括IP、gateway、网络接口号等,以我的主机为例,内网eth0为静态static,主机外网eth0为dhcp动态获得。主机内网无须设置网关,并且客户机也无须设置网关,不过客户机可以自行设置DNS。

  auto lo

  iface lo inet loopback

  auto eth0

  iface eth0 inet static

  address 192.168.0.1

  netmask 255.255.255.0

  auto eth1

  iface eth1 inet dhcp

  address 192.168.16.9

  netmask 255.255.255.0

  gateway 192.168.16.1

2.设置IP转发
修改/etc/sysctl.conf,在文件中加上下面一行:
net.ipv4.ip_forward = 1

3.设置NAT转发规则
设置NAT规则,终端模式下:sudo /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
这里的“192.168.0.0/24”是你的内网网卡卡所在的网络号。“eth1”是你的对外的网卡的网卡代号。根据自己配置的修改。

4.开机自动转发
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
这条命令添加进/etc/rc.local文件,添加到exit 0之前

5.客户机设置
以郑州电信为例,郑州电信DNS为219.150.150.150和219.150.32.132
那么客户机设置IP如下
IP地址:192.168.0.2

子网掩码:255.255.255.0

网关:192.168.0.1

首选DNS服务器:219.150.150.150

备用DNS服务器:219.150.32.132

如果客户机是也是ubuntu,也可以只用一个DNS

至此,应该可以上网了,如果仍不能上网,主机按照上面设置完成后重启以下即可。

哇,你的头像好厉害哦。。。我喜欢。
mclch
帖子: 9
注册时间: 2011-09-10 16:25

Re: ubuntu做主机双网卡共享上网方法(9.04/9.10测试通过)

#19

帖子 mclch » 2011-09-17 11:15

为什么我完全按照楼主的配置做不行(我的外网卡号也是eth1,副机的配置也DNS服务器地址也改为广东的了),主机可以上网,副机显示连上,但不上不了网,我的主机是ubuntu11.04的,副机是Windows xp,望高人指点
回复