: Ubuntu 14.04 + 有线网卡(eth0) + 无线网卡(wlan0)
B: Windows 7 + 有线网卡 + 无线网卡
A,B的无线网卡都连接到家庭无线路由器,网关为192.168.1.1,可以上互联网。A,B的有线网卡通过网线直连,A作为DHCP server和网关,为B的有线网卡分配IP地址
4.vi /etc/dhcp/dhcpd.conf
搜寻这一段文字并全部注释掉
搜寻这一段文字并修改
5. sudo /etc/init.d/isc-dhcp-server start
连互联网时都走HOP数小10.5.5.1路由,导致无法上网。
二.B关闭无线网卡,希望通过A作为路由器来连互联网
2.
A中打开ip包转发功能, vi /etc/sysctl.conf,删除下面一行的注释
net.ipv4.ip_forward=1
(sudo sysctl -p 使改变的配置立即生效)
同时添加iptables(临时方法,重启后会失效):
sudo iptables -t nat -A POSTROUTING -s 10.5.5.0/24 -o wlan0 -j MASQUERADE
(-o wlan0 指定output network interface为wlan0)
B: Windows 7 + 有线网卡 + 无线网卡
A,B的无线网卡都连接到家庭无线路由器,网关为192.168.1.1,可以上互联网。A,B的有线网卡通过网线直连,A作为DHCP server和网关,为B的有线网卡分配IP地址
一.DHCP server(A,B所有网卡均打开)
1. sudo apt-get install dhcp3-server
2. vi /etc/default/isc-dhcp-serverINTERFACES="eth0"
3. 配置ip
- auto eth0
- iface eth0 inet static
- address 10.5.5.1
- netmask 255.255.255.224
- network 10.10.10.0
- broadcast 10.5.5.31
搜寻这一段文字并全部注释掉
- # option definitions common to all supported networks...
- #option domain-name "example.org";
- #option domain-name-servers ns1.example.org, ns2.example.org;
- #default-lease-time 600;
- #max-lease-time 7200;
- subnet 10.5.5.0 netmask 255.255.255.224 {
- range 10.5.5.26 10.5.5.30;
- option domain-name-servers 10.5.5.1;
- option domain-name "internal.example.org";
- option routers 10.5.5.1;
- option broadcast-address 10.5.5.31;
- default-lease-time 600;
- max-lease-time 7200;
- }
如果出错,查看/var/log/syslog的错误提示
A安装玩DHCP server后,B的有线网卡可以分配到IP地址。但是B不能上互联网了。
cmd 下输入route print
- IPv4 路由表
- ===========================================================================
- 活动路由:
- 网络目标 网络掩码 网关 接口 跃点数
- 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.10 25
- 0.0.0.0 0.0.0.0 10.5.5.1 10.5.5.26 10
- 10.5.5.0 255.255.255.224 在链路上 10.5.5.26 266
运行以下命令解决问题
- route delete 0.0.0.0
- route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
- route add 10.5.5.0 mask 255.255.255.0 10.5.5.1
二.B关闭无线网卡,希望通过A作为路由器来连互联网
1. 在DHCP服务器的配置文件中,加入DNS服务器,如google服务器。这样B才能通过A知道DNS服务器的地址
vi /etc/dhcp/dhcpd.conf
- subnet 10.5.5.0 netmask 255.255.255.224 {
- range 10.5.5.26 10.5.5.30;
- <span style="color:#FF0000;">option domain-name-servers 8.8.8.8;</span>
- option domain-name "internal.example.org";
- option routers 10.5.5.1;
- option broadcast-address 10.5.5.31;
- default-lease-time 600;
- max-lease-time 7200;
- }
A中打开ip包转发功能, vi /etc/sysctl.conf,删除下面一行的注释
net.ipv4.ip_forward=1
(sudo sysctl -p 使改变的配置立即生效)
同时添加iptables(临时方法,重启后会失效):
sudo iptables -t nat -A POSTROUTING -s 10.5.5.0/24 -o wlan0 -j MASQUERADE
(-o wlan0 指定output network interface为wlan0)