Linux下用于配置或者查看IP地址、路由表的命令有很多,本文打算将其都罗列出来,后面想到其它的命令再一一补充。
内容有点杂乱。。。。。
1.配置、及查看IP地址的命令
常用的有ifconfig、ifcfg、ip命令。
下面主要以常用的实例来说明其用法。具体的参数请参考man帮助文档。
1.1 ifconfig命令:
ifconfig -a # 显示所有网络接口信息【含down状态的接口】
ifconfig eth0 # 显示eth0接口信息
ifcfg eth0 down|up # 关闭|启用eth0
ifconfig eth0 192.168.10.2/24 up # 修改eth0的IP地址为192.168.10.2/24【重启网络服务i配置即失效】
ifconfig eth0 192.168.10.2 netmask 255.255.255.0 # 设置ip地址,同上一条命令效果一样
ifconfig eth0:0 192.168.20.2/24 up # 添加虚拟网卡eth0:0,IP地址为192.168.20.2/24【重启网络服务i配置即失效】
1.2 ifcfg命令:
ifcfg是用来取代ifconfig命令的,和ifconfig命令功用基本一致。
ifcfg eth0:0 add 192.168.10.2/24 # 添加虚拟网卡eth0:0,IP地址为192.168.10.2/24【重启网络服务i配置即失效】
ifcfg eth0:0 del 192.168.10.2/24
1.3 ip 命令:
ip link sh # 显示的所有接口的链路状态【down 或者up,MTU等信息】
ip link sh eth0 # 显示eth0的链路状态
ip link sh eth0 # 显示eth0的链路状态
ip link sh up # 仅显示状态为up的接口信息
ip link set eth1 down|up # 激活或禁止eth1接口
ip addr sh # 显示网卡及IP等信息
ip addr sh eth1 # 显示eth1的IP信息
ip addr sh label eth1* # 显示匹配label为eth1的网卡信息【支持通配符】
ip addr add 192.168.2.11/24 dev eth0 label eth0:0 # 添加虚拟网卡,并指定网卡别名
ip addr del 192.168.2.11/24 dev eth0 # 删除虚拟网卡
Note:下面的几个 ip addr 命令不常用
ip addr add 10.10.10.20/24 dev eth1 scope link
上面的[scope {global|link|host}]:指明作用域【global: 全局可用;link: 仅链接可用;host: 本机可用;】
此外,还可以设置broadcast广播地址,如:ip addr add 10.10.20.20 broadcast 10.255.255.255 dev eth1
ip addr flush eth0 # 清空eth0网卡的配置
ip addr flush eth1 to 192.168.2.10/24 # 清空eth1上的192.168.2.10/24
ip addr flush 的各种参数格式和ip addr show类似,请参考上面。
2.配置及查看路由的命令
常用的有route、ip命令。
下面主要以常用的实例来说明其用法。更多的参数请参考man帮助文档。
2.1 route命令:
route -n # 以数字形式显示路由条目【自动将域名解析为IP地址】
添加一条主机路由
route add -host 192.168.3.1 gw 172.16.0.1 dev eth0
# 添加一条到达主机192.168.3.1的路由,经由eth0接口, ,网关为172.16.0.1
注意:添加主机路由时候,不要加掩码
添加一条网段路由
route add -net 192.168.4.0/24 gw 172.16.0.1 dev eth0
# 添加一条到达192.168.4.0/24网段的路由,经由eth0接口,网关为172.16.0.1
添加默认路由
route add default gw 172.16.0.1
或者route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
删除路由
route del -host 192.168.1.3 # 删除到192.168.1.3的主机路由
route del -net 192.168.0.0 netmask 255.255.255.0 # 删除到192.168.0.0/24网段的路由
2.2 ip命令:
ip route sh # 显示本机路由表信息
常用的还有:ip route { add | del | change | append | replace | monitor } ROUTE
添加路由
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET可以是:
主机路由:具体IP地址
网络路由:NETWORK/MASK
例如:
ip route add 192.168.20.2 via 192.168.2.2 dev eth0 src 192.168.2.13 # 添加主机路由【不加掩码】
# 如果只有一块网卡的话,其中的src Source_IP可以不写
ip route add 192.168.20.0/24 via 192.168.2.2 dev eth0 src 192.168.2.13 # 添加网络路由【需要加掩码】
添加网关:
ip route add defalt via GW dev IFACE
删除路由:
格式:ip route del TARGET
ip route del 192.168.20.2 # 删除主机路由【del后面接的是单个IP地址】
ip route del 192.168.20.0/24 # 删除网络路由【del后面接的是网段】
ip route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
清空路由表
ip route flush
[dev IFACE]
[via PREFIX]
例如:
ip route flush # 清空所有路由表
ip route flush dev eth1 # 清空与eth1 接口
ip route flush dev eth1 via 192.168.10.10
补充一:
路由表格式:
Destination列:是远程路由地址,可以是主机地址或者网段
Gateway列:
GenMask列:Destination的掩码
Flags列:
U表示该路由可用
G表示该路由需要经网关转发
H表示该行的路由为一台主机,而非一个网段
补充二:
配置IP过程中,一些也会用到的命令,如:
ifup eth1 # 启用eth1
ifdown eth1 # 禁掉eth1