相关命令:ifconfig , route
输出网卡信息
#ifconfig -a
ifconfig基本用法:
ifconfig {interface} {up|down} //启动、关闭网卡 ifconfig interface {options} options: // 选项包括 up,down mtu netmask broadcast
route基本用法:
route [-nee] -n // 直接显示ip或者port而不显示主机名 -ee //显示更多的信息 route add [-net|host] [网络或主机] netmask [mask] [gw|dev] // 增加路由 route del [-net|host] [网络或主机] netmask [mask] [gw|dev] //删除路由 -net 后接网络号 -host 后接主机 netmask 后接指定的子网掩码 gw : 即是gateway ,后接指定作为网关的ip dev : 指定以上设置是针对哪一块网卡,后接设备名称,如eth0等 /* 这里补充一些知识: 一般路由表里的路由有三种,包括特定网络路由,特定主机路由,默认路由;默认路由一般是用在主机访问外网时。 */我们在修改ip前先查看一下主机路由:
#route -nee
参数列解释:
Destination \ Genmask分别是network \ netmask,它们两个组合成了一个网络。
Gateway就是网关,如果显示0.0.0.0表示该路由是直接由本机传送;如果显示ip,表示该路由需要经过路由器的帮助才能发出。
Iface 就是网卡接口名称。
Flags:
U(route is up)该路由是启动的
H(target is a host) 特定主机路由
G(use Gateway) 需要通过外部的主机传递数据包
R(...)
D(...)
M(...)
!(...) 这4项就不列出来了,这里没有关系到。
由以上我们可以知道,本主机有两条路由,如果发往本网络的数据包,肯定是用第二条路由啦;如果是发往外网的就是用第一条路由。
那么,路由器如何知道是发往本地网络还是外网呢?这就涉及到路由的一些算法了,主要是与运算符 【目的地址&子网掩码】 和 【本网络号】作比较就知道,详细这里不探讨。
开始改ip。
#ifconfig wlp1s0 192.168.1.88 <span style="font-size:12px;color:#333333;">#ifconfig -a</span>
可以看到ip已经改变,试着ping一下局域网的主机发现可以ping 的通,在ping 一下外网,如www.baidu.com,发现并不能通,上不了网。什么回事呢?
我们来看看现在的路由表信息:
发现只有一条局域网路由,这就能解释为什么不能连外网了,那么我们来设置一条外网的路由不就ok啦。
用route添加路由:
#route add default gw 192.168.1.1 //这里根据自己的网关地址设定 #route -nee
好的,外网路由添加了,再来ping一下外网,成功。