Ubuntu系統使用ifconfig ,route命令手動設置網絡接口參數

先刪除wlan0以前的IP設置

sudo ifconfig wlan0 0  # route -n 後沒有發現一個路由表項

給網絡接口wlan0設置 ip地址和子網掩碼, 同時激活該設備

sudo ifconfig wlan0 192.168.0.23/24 up

設置ip和子網掩碼後增加了一個路由表項

目標            網關            子網掩碼        標誌  躍點   引用  使用 接口
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
這個路由表示可以跟局域網下的其他主機互通,但是不能和網絡主機互通,比如`ping -I wlan0 baidu.com`

上面設置後還不能上外網,必須設置默認路由網關後纔可以上網。

設置一個默認網關,就是當數據包不能匹配主機的任何一條數據包時候執行的路由策略,

sudo route add default gw 192.168.0.1 

執行這條命令後新增一條路由表

目標            網關            子網掩碼        標誌  躍點   引用  使用 接口
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0

新增了後來的這條路由表項後,主機就可以訪問外網主機了。

ping -I wlan0 baidu.com

總結:在Ubuntu下手動設置一個網絡接口使得他可以上外網只需要兩條命令:

sudo ifconfig wlan0 192.168.0.23/24 up //ip地址必須設置成和路由器局域網處於同一網段
sudo route add default gw 192.168.0.1 //默認路由一般是路由器的局域網IP地址

ifconfig, route 命令相關有用的命令

激活設備。

#ifconfig eth0 up

禁用設備。

#ifconfig eth0 down

查看指定的網絡接口的配置。

#ifconfig eth0

查看所有的網絡接口配置。

#ifconfig

增加一條從當前主機到指定主機192.168.0.2主機的路由,指定從wlan0口輸出

sudo route add -host 192.168.0.2 dev wlan0
內核 IP 路由表
目標            網關            子網掩碼        標誌  躍點   引用  使用 接口
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
192.168.0.2     0.0.0.0         255.255.255.255 UH    0      0        0 wlan0 //就是剛纔加的到指定主機的規則

刪除上面添加的到指定主機的路由

sudo route del -host 192.168.0.2 dev wlan0
內核 IP 路由表 路由表變成了這樣
目標            網關            子網掩碼        標誌  躍點   引用  使用 接口
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0

增加一條從當前主機到指定網絡的路由

sudo route add -net 192.168.1.0/24 wlan0

刪除一條到指定網絡的路由

sudo route delnet 192.168.1.0/24 wlan0

參考文獻:
ubuntu網絡配置初步/etc/network
UBUNTU下使用ifconfig和route命令手動配置網絡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章