CentOS常用网络配置及操作
Linux 系统中最常用的网络配置命令包括ifconfigroute ,其中ifconfig 用来查看和配置网络接口(通常是网卡)信息,包括网络接口设备的IP 地址、掩码等;route 用来管理Linux 系统内核中的路由表,它最大的用途就是用来设定静态的路由表项,通常是在系统用ifconfig 配置网络接口后,用它来设定主机或者一网段的IP 地址应该通过什么接口发送等。
3.1.1 ifconfig
1
ifconfig 的语法为:
2
ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
3
  [[-]broadcast [<address>]]
4
  [netmask <address>] 
5
  [up|down]
其中 interface 为网卡名,address 为IP 地址,broadcast 表示设置广播地址,其后的address 为广播地址的IP ,netmask 表示设置子网掩码,其后的address 为子网掩码的IP, up、 down 设置当前网卡的状态,up表示启用当前网卡,down 表示关闭当前网卡。
Ifconfig 的常用参数说明如下:
-a 查看所有网卡状态
-V 查看ifconfig 命令的版本信息
-s 查看统计信息
示例:
1) 将第一块网卡的 IP 地址设置为192.168.0.1:
1
ifconfig eth0 192.168.0.1 (格式: ifconfig 网络设备名 IP 地址)
2) 暂时关闭或启用网卡:
1
关闭第一块网卡: ifconfig eth0 down
2
 
3
启用第一块网卡 ifconfig eth0 up
3 )将第一块网卡的子网掩码设置为 255.255.255.0:
1
ifconfig eth0 netmask 255.255.255.0 (格式:ifconfig 网络设备名 netmask子网掩码)
我们也可以同时设置 IP 地址和子网掩码:
1
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
4) 查看第一块网卡的状态:
1
ifconfig eth0
如果要查看所有的网卡状态, 则直接使用不带参数的ifconfig 命令即可。
ifconfig 输出的状态信息是十分有用的,下面我们就简单说明一下:
有几个状态比较重要:
UP/DOWN :网卡是否启动了,如果是DOWN的话,那肯定无法用的;
RX packets 中的errors 包的数量如果过大说明网卡在接收时有问题;
TX packets 中的errors 包的数量如果过大说明网卡在发送时有问题;
3.1.2 route
route 命令的语法为:
1
route [-CFvnee]
2
 
3
route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mod] [reinstate] [[dev] If]
4
 
5
route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metricN] [[dev] If]
6
 
7
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″走
1
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
2 )添加一条缺省路由
1
route add 0.0.0.0 gw 网关地址
如果没有其他匹配的路由项, 就使用这个路由规则。
3) 删除缺省路由
1
route del 0.0.0.0 gw 网关地址
4) route 命令的输出结果示例说明
输出的格式有以下几栏:
Destination 目标网段或者主机
Gateway 网关地址, 如果没有设置,则是”*”表示
route add 添加路由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 该路由表项对应的输出接口。
3.2 网络操作命令
Linux 系统常用的网络操作命令包括netstatnslookup、 host finger 和ping。
netstat 命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。nslookup 命令的功能是查询一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名服务,如果用户已经设置好域名服务器,就可以用这个命令
查看不同 主机的IP 地址对应的域名。host 命令可根据主机名查询主机的IP 地址或根据主机IP 地址查询主机名;finger 命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell 等信息。ping 命令用于查看网络上的主机是否在工作。
3.2.1 netstat
netstat 命令的语法为:
netstat [选项]
netstat的常用参数说明如下:
-a 显示所有 socket 包括正在监听的
-c 每隔 1 秒就重新显示一遍直到用户中断它
-i 显示所有网络接口的信息格式同 “ifconfig –e”
-n 以网络 IP 地址代替名称显示出网络连接情形
-r 显示核心路由表格式同 “route –e”
-t 显示 TCP 协议的连接情况
-u 显示 UDP 协议的连接情况
-v 显示正在进行的工作
示例:
1 )在本机使用 netstat 命令,其输出为如下
1
Active Internet connections (w/o servers)
2
 
3
Proto Recv-Q Send-Q Local Address Foreign Address State
4
 
5
tcp 0 256 10.153.89.66:ssh 10.153.21.168:1054 ESTABLISHED
6
 
7
tcp 0 0 10.153.89.66:ssh 10.153.21.166:1222 ESTABLISHED
8
 
9
tcp 0 0 10.153.89.66:1521 10.153.21.166:2625 ESTABLISHED
10
 
11
tcp 0 0 10.153.89.66:1521 10.153.21.166:2623 ESTABLISHED
12
 
13
……
14
 
15
Active UNIX domain sockets (w/o servers)
16
 
17
Proto RefCnt Flags Type State I-Node Path
18
 
19
unix 9 [ ] DGRAM 919 /dev/log
20
 
21
unix 2 [ ] STREAM CONNECTED 50246124
22
 
23
unix 3 [ ] STREAM CONNECTED 3914245
24