如何用linux作为路由器

默认分类 · 2013-11-13

网上文章好多,但好像整了半天不是很明白,后来自己折腾,还真折腾好了。

一、要搭建的网络条件,见下图

系统结构图

二、各设备概况:

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的路由转发功能

  1. 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

好了,这时候应该能在台式机上正常上网了。

linux
Theme Jasmine by Kent Liao