求教:如何将无线网卡的网络共享给eth0,实现共享上网

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

求教:如何将无线网卡的网络共享给eth0,实现共享上网

#1

帖子 chinaz » 2014-03-07 18:50

教师机本地有线连接eth0,用网线连接到一个交换机,交换机连接学生机。
教师机上成功配置DHCP服务,学生机获取地址没有问题。
学生机地址类似于:
ip地址:192.168.0.9
网络掩码:255.255.255.0
网关:192.168.0.1
DNS:218.58.74.240

DHCP服务自动分配的地址池为192.168.0.2-192.168.0.20

教师机手动设置eth0为:
ip地址:192.168.0.1
网络掩码:255.255.255.0
网关:192.168.0.1
DNS:218.58.74.240

也就是说,教师机上
DHCP/网关/本机IP都是192.168.0.1(不知道这样有没有影响)
-------------------
另,教师机有一块无线网卡,wlan1,自动获取校园网地址:
ip地址:172.20.29.224
网络掩码:255.255.255.0
网关:172.20.29.1
DNS:218.58.74.240

可以上外网。
------------------
配置目标:
学生机能上外网即可。
------------------
参考了这个,照做(将wlan0改成wlan1再照做的)。
http://zhidao.baidu.com/link?url=zG6BRT ... cxQySli-PW
“共享internet连接,在设备上启用nat即可:
echo 1 > /proc/sys/net/ipv4/ip_forward //启用ipv4数据包转发
iptables -t nat -I POSTROUTING -o wlan0 -j MASQUERADE //在wlan0接口上启用IP伪装(源地址NAT)
然后将连接到设备的网关指向设备的eth0即可。”
------------------
现在的问题是:
教师机:
eth0和wlan1同时开着,能访问校园内网的网址(172.20.29.x),但是不能访问外网。
开eth0,关掉wlan1不能上任何网。
开wlan1,关掉eth0可以上内、外网。
也就是说系统将eth0作为默认的网络连接。

学生机:
当教师机eth0和wlan1同时开着时,能访问校园内网的网址(172.20.29.x),但是不能访问外网。
------------------

请问高手,这种情况该怎么下手,本人只是复制粘贴然后回车执行代码的水平。谢谢。
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#2

帖子 poloshiao » 2014-03-07 20:03

eth0和wlan1同时开着
1.
sudo route -nv
ping -c 3 218.58.74.240
开eth0,关掉wlan1
2.
sudo route -nv
ping -c 3 218.58.74.240
开wlan1,关掉eth0
3.
sudo route -nv
ping -c 3 218.58.74.240
把結果 複製貼上來
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#3

帖子 chinaz » 2014-03-07 20:32

谢谢回复,明天我去教室试试。
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#4

帖子 chinaz » 2014-03-08 9:38

刚试了一下。
--------------------------
1、开wlan1关eth0

user@debian:~$ sudo route -nv
[sudo] password for user:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.20.29.1 0.0.0.0 UG 0 0 0 wlan1
172.20.29.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan1
user@debian:~$ ping -c 3 218.58.74.240
PING 218.58.74.240 (218.58.74.240) 56(84) bytes of data.

--- 218.58.74.240 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2015ms

-------------------------
2、开eth0关wlan1

user@debian:~$ sudo route -nv
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
user@debian:~$ ping -c 3 218.58.74.240
PING 218.58.74.240 (218.58.74.240) 56(84) bytes of data.
From 192.168.0.1 icmp_seq=2 Destination Host Unreachable
From 192.168.0.1 icmp_seq=3 Destination Host Unreachable

--- 218.58.74.240 ping statistics ---
3 packets transmitted, 0 received, +2 errors, 100% packet loss, time 2015ms
pipe 2
--------------------------
3、wlan1和eth0都开

user@debian:~$ sudo route -nv
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
172.20.29.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
user@debian:~$ ping -c 3 218.58.74.240
PING 218.58.74.240 (218.58.74.240) 56(84) bytes of data.
From 192.168.0.1 icmp_seq=3 Destination Host Unreachable

--- 218.58.74.240 ping statistics ---
3 packets transmitted, 0 received, +1 errors, 100% packet loss, time 2016ms
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#5

帖子 poloshiao » 2014-03-08 12:42

三個情況
ping -c 3 218.58.74.240
3 packets transmitted, 0 received, 100% packet loss
都不通
我試過了 也不通
有可能是 218.58.74.240 設定不回應 ping 的請求
所以還無法 確認是網路不通

改爲
ping -c 3 218.58.74.240
試試
我試過了 有回應
1、开wlan1关eth0
可以上内、外网。
0.0.0.0 172.20.29.1 0.0.0.0 UG 0 0 0 wlan1
172.20.29.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan1
3、wlan1和eth0都开
能访问校园内网的网址(172.20.29.x),但是不能访问外网
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
172.20.29.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
加上一個路由
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 172.20.29.1 0.0.0.0 UG 0 0 0 wlan1 <--- 加上這一行看看
172.20.29.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
方法參閱
sudo route add xxxxxxxxxx dev wlan1
參數 (好幾個)
xxxxxxxxxx
參考
http://manpages.ubuntu.com/manpages/pre ... ute.8.html

上面指令只是一次性增加 路由
如果成功了 請再貼文
看看 如何每次一開機 就自動增加該路由 (如果有必要的話)

備註
Ubuntu 預設同一時間 只能有一個路由上網
如果再貼文 請說明 是在 /etc/network/interfaces 還是 NM-Applet 設定網卡連線
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#6

帖子 chinaz » 2014-03-08 17:16

:em06 初中英语水平表示看不懂那个链接。。。。。。

wlan1和eth0都开启后,执行了下面这条命令
sudo route add -net 172.20.29.0/24 gw 172.20.29.224
224是wlan1的IP,172.20.29.0是校园网的范围。
还是打不开外网网址,只能打开172.20.29网段的网址。和没加路由一样的效果。
--------------------
eth0和wlan1的网络设置都是在debian7的图形界面设置的。
user@debian:~$ more /etc/network/interfaces
auto lo
iface lo inet loopback
-------------------
后来又乱试过许多路由(试过一条就删一条)都没有用,上不了外网
sudo route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
sudo route add -net 172.20.29.0 netmask 255.255.255.0 dev wlan1
sudo route add -host 172.20.29.1 dev wlan1
sudo route add -net 172.20.29.0 netmask 255.255.255.0 dev wlan1
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
头像
royclark
帖子: 301
注册时间: 2011-05-15 1:01
系统: Debian GNU/Linux sid

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#7

帖子 royclark » 2014-03-08 20:51

我觉得要满足楼主的要求,路由表要设成下面这个样子:

代码: 全选

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.20.29.1     0.0.0.0         UG    0      0        0 wlan1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.20.29.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan1
1. 试试下面的命令:

代码: 全选

sudo ip route del 0.0.0.0/0 && sudo ip route add 0.0.0.0/0 via 172.20.29.1 dev wlan1 
然后查看路由表现在是什么样(route -nv ),看是否可以联外网了。

这里用的是 ip 命令,用 route 命令也是可以的,只是我对 route 不熟。我 route 的等价形式是下面这样的,具体可以查:

代码: 全选

sudo route del 0.0.0.0/0 && sudo route add -net 0.0.0.0/0 gw 172.20.29.1 dev wlan1 

2. 楼主你说网络是用图形界面设的,是指 network-manager 吗?如果是的话,可以按下面设置:
在 ipv4 设置中点 Route... 按钮(右下角,Save 上面),
nowhitespace1.png
然后勾上“Use this connection only for resources on its network(中文大意是只将此连接用于它网络的资源)”,接着重新连接,再查看路由表现在是什么样,以及是否可以了。
nowhitespace2.png
第二种每次重新连接后仍然可用,且第一次设时要重新连接才可用,第一种每次重新连接后都要重新设。

[编辑]原来路由表的第一行写成
0.0.0.0 172.20.29.1 0.0.0.0 UG 0 0 0 eth0
了,应该为
0.0.0.0 172.20.29.1 0.0.0.0 UG 0 0 0 wlan1
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#8

帖子 chinaz » 2014-03-08 21:39

谢谢回复,明天我去教室试试。
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#9

帖子 poloshiao » 2014-03-08 22:01

试过许多路由(试过一条就删一条)都没有用,上不了外网, 还是打不开外网网址
sudo route add -net 172.20.29.0/24 gw 172.20.29.224
sudo route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
sudo route add -net 172.20.29.0 netmask 255.255.255.0 dev wlan1
sudo route add -host 172.20.29.1 dev wlan1
sudo route add -net 172.20.29.0 netmask 255.255.255.0 dev wlan1
0. 打不開外網 有兩種情況
0-1. 無法 ping 到外網
例如
ping -c 3 218.58.74.240
0-2. 無法訪問外網的網頁
例如
http://apexu.com/apexu/tw/modules/publi ... ?itemid=21
是哪一種 ?
0-3. 試試 下面的指令 有沒有效
sudo route add default gw 172.20.29.1

sudo route add default gw 172.20.29.1 dev wlan1
eth0和wlan1的网络设置都是在debian7的图形界面设置的。
1. 圖形界面 預設是 network-manager 管理上網事宜
2. network-manager 預設行爲 同一個時間 只能有一個網卡連通上網 另一個連上網後立刻斷線待機 所以你要兩個網卡同時打開 有困難 必須更改預設行爲
2-1. 如果你是希望 network manager 界面 兩個網卡 同時有兩個 路由
參考
ubuntu 12.04 下 雙網卡 設定方法
http://apexu.com/apexu/tw/modules/publi ... ?itemid=21
把 wlan0 設定成上面例子的 eth0 (DHCP)
把 eth0 設定成上面例子的 eth1 (手動)
上面這個意見參考
http://www.ubuntu-tw.org/modules/newbb/ ... post238014
2-2. network manager 一直在更新版本 更新設定方法
而 Debian 的 network manager 版本 跟 ubuntu 12.04 可能不一樣
上面這一篇 如果無效 請再貼文
3. 另一個方案 把 network-manager 有關套件移除
3-1. 只用 /etc/network/interfaces 設定 雖然技術成分高一點 但是自主性強一點
http://www.cyberciti.biz/faq/setting-up ... aces-file/
3-2. 安裝/使用 wicd 取代 network manager 自主性強一點
https://help.ubuntu.com/community/WICD
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#10

帖子 chinaz » 2014-03-09 9:34

刚试了一下,这条命令立竿见影:
sudo route add default gw 172.20.29.1 dev wlan1
在教师机上开启wlan1和eth0后,执行这个命令,立刻就可以直接打开外网,但是学生机还是不行。
后来我把所有的DNS都换成202.102.134.68
学生机也可以上外网了。

但是,学生机上了一会,flash插件下载了一半,就上不了了。教师机一直没问题。(是不是重启设置就没了?)

有点事先告一段落,明天继续折腾,谢谢楼上2位的帮忙! :em11
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#11

帖子 poloshiao » 2014-03-09 12:03

恭喜你
这条命令立竿见影:
sudo route add default gw 172.20.29.1 dev wlan1
可以記錄下來 有效的雙網卡路由
sudo route -nv
把結果記錄下來 備查

上面這個指令只是一次性
重開機以後 需要再下一次指令

如果要開機就新增這個路由 下面方法 試試其中一個方法 不要兩者都安排

方法一
gksudo gedit /etc/rc.local

route add default gw 172.20.29.1 dev wlan1 # 不需加 sudo
寫在
exit 0
這一行前面
這個方法 可以適用在
network manager
/etc/network/interfaces
wicd
等等設定方法

方法二
參考
http://apexu.com/apexu/tw/modules/publi ... ?itemid=21
設定 wlan0 參考上面例子的 eth0 (DHCP)
設定 eth0 參考上面例子的 eth1 (手動)

設定好以後 重新開機
sudo route -nv
看看是否生效
学生机上了一会,flash插件下载了一半,就上不了了。教师机一直没问题。
使用 Firefox 嗎
建議使用 Chromium 或 chrome

原因
Firefox 使用的 adobe flash player for linux 已經快要不支援了 5 年沒什麼改進
如果使用 Chromium 或 chrome 都可以安裝 adobe flash player 的後繼發行版
pepper flash player
https://support.google.com/chrome/answe ... hl=zh-Hans
有需要再貼文
头像
chinaz
帖子: 238
注册时间: 2007-02-07 9:23

Re: 求教:如何将无线网卡的网络共享给eth0,实现共享上网

#12

帖子 chinaz » 2014-03-11 9:58

平常在办公室和家里用Ubuntu,微机室用XP+Debian,以后打算全面转向Debian了。浏览器目前还保持着对火狐的好感,暂时没打算换,象征性的转向iceweasel。
插一句,RMS永远值得敬仰。
===================================
这两天整理了一下,基本理清思路了,尽管还是有些小问题:
打出来仅供参考:

教师机本地有线连接eth0,用网线连接到一个交换机,交换机连接学生机。
教师机上成功配置DHCP服务,学生机获取地址没有问题。
学生机地址类似于:
ip地址:192.168.0.9
网络掩码:255.255.255.0
网关:192.168.0.1
DNS:218.58.74.240

DHCP服务自动分配的地址池为192.168.0.2-192.168.0.20

教师机手动设置eth0为:
ip地址:192.168.0.1
网络掩码:255.255.255.0
网关:192.168.0.1
DNS:218.58.74.240

也就是说,教师机上
DHCP/网关/本机IP都是192.168.0.1(不知道这样有没有影响)
-------------------
另,教师机有一块无线网卡,wlan1,自动获取校园网地址:
ip地址:172.20.29.224
网络掩码:255.255.255.0
网关:172.20.29.1
DNS:218.58.74.240

可以上外网。
------------------
配置目标:
学生机能上外网即可。
------------------
参考了这个,照做(将wlan0改成wlan1再照做的)。
http://zhidao.baidu.com/link?url=zG6BRT ... cxQySli-PW
“共享internet连接,在设备上启用nat即可:
echo 1 > /proc/sys/net/ipv4/ip_forward //启用ipv4数据包转发
iptables -t nat -I POSTROUTING -o wlan0 -j MASQUERADE //在wlan0接口上启用IP伪装(源地址NAT)
然后将连接到设备的网关指向设备的eth0即可。”
------------------
现在的问题是:
教师机:
eth0和wlan1同时开着,能访问校园内网的网址(172.20.29.x),但是不能访问外网。
开eth0,关掉wlan1不能上任何网。
开wlan1,关掉eth0可以上内、外网。
也就是说系统将eth0作为默认的网络连接。

学生机:
当教师机eth0和wlan1同时开着时,能访问校园内网的网址(172.20.29.x),但是不能访问外网。
------------------


配置DHCP服务器
安装
sudo apt-get install isc-dhcp-server
配置
sudo leafpad /etc/dhcp/dhcpd.conf
我的有效配置为:
--------------------
ddns-update-style interim;
ignore client-updates;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.2 192.168.0.20;
option domain-name-servers 218.58.74.240;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}
--------------------
启动DHCP服务
sudo /etc/init.d/isc-dhcp-server start
重启DHCP服务
sudo /etc/init.d/isc-dhcp-server restart


若要想让学生机通过教师机的wlan上外网,试过下面2种方法都可行,感谢上面2位的指导。

方法一:

第一步,启用ipv4数据包转发
sudo leafpad /etc/sysctl.conf
将net.ipv4.ip_forward=1的注释#去掉(或者添加此行)。然后使设置立即生效:
sudo sysctl -p

第二步,在wlan接口上启用IP伪装(源地址NAT)
sudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE

第三步、修改network-manager(系统预设的网络连接管理工具)中eth0的路由设置:
右键点网络连接图标,选择:
编辑连接--有线--eth0(或wired connection1)--编辑--IPv4设置--路由
然后将“仅将此连接用于相对应的网络上的资源”点上对号。
最后点确定、保存、关闭。

如此,教师机、学生机都连上外网了。

-----------------------------------
方法二:
第一步,启用ipv4数据包转发
sudo leafpad /etc/sysctl.conf
将net.ipv4.ip_forward=1的注释#去掉(或者添加此行)。然后使设置立即生效:
sudo sysctl -p

第二步,在wlan接口上启用IP伪装(源地址NAT)
sudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE

第三步运行命令增加一条路由:
sudo route add default gw 172.20.29.1 dev wlan1

如此,教师机、学生机都连上外网了。

-----------------------------------

其中,以下两条命令,只能在开机期间发挥作用,下次重启失效。
sudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE
sudo route add default gw 172.20.29.1 dev wlan1
打算将第一条命令设置为手动运行,或者做成图标,方便教师控制学生机网络的通和断。
第二条命令打算让其开机自动执行(待研究)。

----------------------------------

困扰了好几天的插曲:

学生机能上网,但是只上几分种便上不动了,网络连接符号显示正常,点“修复连接”后,设置框假死状态。重启后有时也能获取到网络地址,但是仍然上不去外网。教师机情况比学生机好点,但是也只是能上网的时间稍微长点而已。

交换机断电重启,学生机网络重连,就正常了。原因不明。

第二天,采用方法一,又出现这个情况,学生机上网上几分种便上不动了,重启交换机也没有用,学生机不能自动获取IP地址,学生机重启后,也不能自动获取地址,再次重启交换机才获取到地址,但是仍然不能访问外网,学校172网段的也访问不到。而教师机上网一直没有问题。好像只有重启教师机才可以了。折腾期间教师机的无线网卡也换过一次,同样的效果。

这个问题,待研究。
宠辱不惊,闲看庭前花开花落;去留无意,漫随天外云卷云舒。
回复