网上文章好多,但好像整了半天不是很明白,后来自己折腾,还真折腾好了。
一、要搭建的网络条件,见下图
二、各设备概况:
1、wireless router是无线路由器,前面通过ADSL接的internet,此处怎么设置就不解释了。
2、wireless computer就是笔记本电脑,有两张网卡,一张wlan0,一张eth0。安装的系统ubuntu 12.04,并且安装有networkmanager。
3、wire computer 就是台式机,只有一张有线网卡,安装的也是ubuntu 12.04。
4、想让台式机能直接通过笔记本上网,两者之间直接用网线连接。
三、设置wireless computer
1、需要安装的软件
rfkill、wpa_supplicant、ifconfig、route、iptables
2、设置
(1)禁用networkmanager
(2)启用linux的路由转发功能
- sudo emacs /etc/sysctl.conf,将其中的net.ipv4.ip_forward=1前面的注释符#去掉
2)sudo sysctl -p /etc/sysctl.conf
(3)设置wlan0以能用笔记本上网
1)因为禁止了networkmanager,所以我的无线网卡直接就被关掉了,首先续打开无线网卡。
A、sudo rfkill list all,该命令结果如下
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
B、sudo rfkill unblock wifi
C、sudo rfkill list all
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
D、sudo ifconfig wlan0 up
这时无线网卡的指示灯应该亮了。
2)连接无线网卡
A、sudo emacs /etc/wpa_supplicant.conf,更改这个文件的2处
a、ssid="TP-LINK_59A1CA",引号引起来的就是图中无线路由器的名称
b、psk="12345698df",引号引起来的就是无线路由器的访问密码了。
B、sudo wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
这时应该就已经连上无线路由器了,但还不能上网,因为没有设置IP地址。
3)设置无线网卡的IP地址和默认网关
A、sudo ifconfig wlan0 192.168.1.103/24
B、route add default gw 192.168.1.1
这时应该已经能访问网络了,比如在浏览器中输入192.168.1.1,应该能打开无线路由器的登陆框,但是输入www.google.com,这时候还是打不开,因为没有设置DNS
4)设置DNS
A、sudo emacs /etc/resolv.conf,在该文件末尾增加3行并保存,如下:
nameserver 192.168.1.1
nameserver 114.114.114.114
nameserver 8.8.8.8
好了,这时候用笔记本电脑应该就能上网了。
(4)设置笔记本电脑的eth0的ip地址
sudo ifconfig eth0 192.168.10.1/24
(5)启动iptables的nat机制,所谓nat机制,有时候又称为nat表,就是一个IP共享机制。
sudo iptables -t nat -A POSTROUTING -o wlan0 -s 192.168.10.0/24 -j SNAT --to 192.168.1.103
四、设置台式机
(1)设置ip地址和默认网关
A、sudo ifconfig eth0 192.168.10.12/24
B、route add default gw 192.168.10.1
(2)设置dns
A、sudo emacs /etc/resolv.conf,在该文件末尾增加3行并保存,如下:
nameserver 114.114.114.114
nameserver 8.8.8.8
好了,这时候应该能在台式机上正常上网了。