Linux 系统中最常用的网络配置命令包括ifconfig、 route ,其中ifconfig 用来查看和配置网络接口(通常是网卡)信息,包括网络接口设备的IP 地址、掩码等;route 用来管理Linux 系统内核中的路由表,它最大的用途就是用来设定静态的路由表项,通常是在系统用ifconfig 配置网络接口后,用它来设定主机或者一网段的IP 地址应该通过什么接口发送等。
ifconfig
ifconfig 的语法为:
ifconfig [-a] [-V] [-s]
Ifconfig 的常用参数说明如下:
-a 查看所有网卡状态
-V 查看ifconfig 命令的版本信息
-s 查看统计信息
示例:
1.将第一块网卡的 IP 地址设置为192.168.0.1:
ifconfig eth0 192.168.0.1 (格式: ifconfig 网络设备名 IP 地址)
2.暂时关闭或启用网卡:
关闭第一块网卡: ifconfig eth0 down
启用第一块网卡 ifconfig eth0 up
3.将第一块网卡的子网掩码设置为 255.255.255.0:
ifconfig eth0 netmask 255.255.255.0 (格式:ifconfig 网络设备名 netmask子网掩码)
我们也可以同时设置 IP 地址和子网掩码:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
4.查看第一块网卡的状态:
ifconfig eth0
如果要查看所有的网卡状态, 则直接使用不带参数的ifconfig 命令即可。
常见问题
ifconfig 输出的状态信息是十分有用的,下面我们就简单说明一下:
有几个状态比较重要:
UP/DOWN :网卡是否启动了,如果是DOWN的话,那肯定无法用的;
RX packets 中的errors 包的数量如果过大说明网卡在接收时有问题;
TX packets 中的errors 包的数量如果过大说明网卡在发送时有问题;
二、route
route 命令的语法为:
route [-CFvnee]
route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mod] [reinstate] [[dev] If]
route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metricN] [[dev] If]
route [-V] [--version] [-h] [--help]
route 的常用参数说明如下:
-v 使用冗余输出模式。
-A family 指定特定的地址族 (例如”inet” “inet6″)。
-n 使用数字显示的地址 例如202.38.75.75 而不是去解释域名。
-e 使用与 netstat 相同的输出格式。
-ee 参数会产生很长的输出, 包括内核路由表的几乎所有信息。
-net 目标 (target) 是一个网段。
-host 目标 (target) 是一个单独的主机。
-F 显示内核 FIB 路由表结果可能被-e 和-ee 参数改变。
-C 显示内核中路由缓存信息。
del 删除一个路由表项。
add 增加一个路由表项。
Target 配置的目的网段或者主机 。可以是IP, 或者是网络或主机名。
netmask Nm 用来指明要添加的路由表项的网络掩码。
gw Gw 任何通往目的 (target) 的IP 分组都要通过这个网关。
metric M 设置路由表中该项的尺度域( metric field) 为M。
示例:
1.添加一条路由表项,网段192.168.0.x 应该从接口”eth0″走route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
2.添加一条缺省路由
route add 0.0.0.0 gw 网关地址 如果没有其他匹配的路由项, 就使用这个路由规则。
3.删除缺省路由
route del 0.0.0.0 gw 网关地址
4. route 命令的输出结果示例说明
输出的格式有以下几栏:
Destination 目标网段或者主机
Gateway 网关地址, 如果没有设置,则是”*”表示
Genmask 网络掩码
Flags 一些可能的标记如下:
U (路由是活动的)
H (目标是一个主机)
G (使用网关 (gateway))
R (reinstate route 动态路由产生的表项)
D (dynamically installed by daemon or redirect)
M (modified from routing daemon or redirect)
! (reject route)
Metric 路由距离。
Ref 路由项引用次数。( linux 内核中没有使用)
Use 查找路由项的次数 。
Iface 该路由表项对应的输出接口。