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命令手动配置网络

你可能感兴趣的:(经验分享,Linux)