ifcfg命令家族
ifconfig命令:接口及地址查看与管理
查看接口
查看已经激活的接口信息:
[root@www ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.179.128 netmask 255.255.255.0 broadcast 192.168.179.255
inet6 fe80::20c:29ff:fe25:ffbc prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:25:ff:bc txqueuelen 1000 (Ethernet)
RX packets 9536 bytes 730456 (713.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6760 bytes 466170 (455.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno33554984: ...与eno16777736内容类似,省略...
lo: ...与eno16777736内容类似,省略...
查看指定接口的信息:
格式:ifconfig INTERFACE
[root@www ~]# ifconfig eno33554984
查看所有激活与为激活接口的信息:
格式:ifconfig -a
管理接口
SYNOPSIS:ifconfig INTERFACE options | address
激活网卡接口:
格式:ifconfig INTERFACE up
[root@www ~]# ifconfig eno33554984 up
冻结网卡接口:
格式:ifconfig INTERFACE down
[root@www ~]# ifconfig eno33554984 down
为网卡接口配置ipv4地址:
格式:ifconfig INTERFACE ADDRESS/PREFIX
或 ifconfig INTERFACE ADDRESS netmask NETMASK
[root@www ~]# ifconfig eno33554984 192.168.172.125/24
使用标签为网卡接口配置多个ipv4地址
格式:ifconfig IFACE_LABEL ADDRES/PREFIX
[root@www ~]# ifconfig eno33554984:0 192.168.179.200/24
增加或删减网卡接口的属性:
格式:ifconfig INTERFACE [-]OPTION
[root@www ~]# ifconfig eno33554984 promisc #增加promisc属性
[root@www ~]# ifconfig eno33554984 -promisc #删减promisc属性
增加ipv6地址:
格式:ifconfig IFACE add ADDRESS/PREFIXLEN
删除ipv6地址:
格式:ifconfig IFACE del ADDRESS/PREFIXLEN
route命令:路由表查看及管理
查看路由表:
格式:route -n
route命令默认会将路由表中的地址转换成域名或主机名来显示,这个过程将花费大量时间。常同“-n”选项一同使用,不进行转换,直接以ip地址的形式显示。
[root@www ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.179.2 0.0.0.0 UG 100 0 0 eno16777736
192.168.179.0 0.0.0.0 255.255.255.0 U 0 0 0 eno16777736
192.168.179.0 0.0.0.0 255.255.255.0 U 0 0 0 eno33554984
添加路由条目:
SYNOPSIS:route add [-net | -host] TARGET/PREFIX gw GW [dev IFACE]
dev 可省略,若省略,路由表的网卡接口项将使用默认值。
添加主机路由条目:
格式:route add -host ADDRESS gw GATEWAY [dev INTERFACE]
[root@www ~]# route add -host 10.10.10.10 gw 192.168.179.100 dev eno33554984
添加网络路由条目:
格式:route add -net ADDRESS/PREFIX gw GATEWAY [dev INTERFACE]
route add -net ADDRESS netmask NETMASK gw GATEWAY [dev INTERFACE]
[root@www ~]# route add -net 10.0.0.0/8 gw 192.168.179.101 dev eno33554984
添加默认路由条目:
格式:route add default gw GATEWAY [dev INTERFACE]
诡异的事情发生了,添加默认路由条目的操作在CentOS 7上进行时会报错,在CentOS 6上则能顺利完成,暂时没找到原因。
[root@www ~]# route add default gw 192.168.179.2
删除路由条目:
SYNOPSIS:route del [-net | -host] target [gw GW] [netmask Nm] [[dev] If]
删除主机路由条目:
格式: `route dle -host ADDRESS
[root@www ~]# route del -host 10.10.10.10
删除网络路由条目:
格式:route del -net ADDRESS/PREFIX
[root@www ~]# route del -net 30.0.0.0/8
删除默认路由条目:
格式:route del default
同上面添加默认路由条目时相同,删除默认路由条目在CentOS 6上能顺利执行,在CentOS 7上失效了。
netstat命令:查看网络状态
显示路由表:
格式:netstat -rn
- -r:显示内核路由表
- -n:数字格式显示
[root@www ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.179.2 0.0.0.0 UG 0 0 0 eno16777736
192.167.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eno33554984
...省略更多...
显示网络连接:
格式:netstat [OPTIONS]…
OPTIONS:
- –tcp | -t:TCP协议相关连接
- –udp | -u:UDP协议相关连接
- –raw | -w:raw socket相关的连接
- –listening | -l:处于监听状态的连接
- -a:所有状态
- -n:以数字格式显示IP和Port
- -e:扩展格式
- -p:显示相关的进程及PID
常用组合:
- -tan:以数字格式显示所有状态下的TCP连接
- -uan:以数字格式显示所有状态下UDP连接
- -tnl:以数字格式显示TCP协议中处于监听状态下的连接
- -unl:以数字格式显示UDP协议中处于监听状态下的连接
- -tunlp:以数字格式显示TCP协议和UDP协议中处于监听状态下的连接,同时显示各连接的进程及PID
显示网卡接口的统计数据:
netstat -i:显示所有接口的统计数据。
[root@www ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eno16777 1500 18469 0 0 0 11016 0 0 0 BMRU
eno33554 1500 21103 0 6 0 5631 0 0 0 BMPRU
lo 65536 10 0 0 0 10 0 0 0 LRU
netstat -I\
[root@www ~]# netstat -Ieno33554984
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eno33554 1500 22031 0 6 0 5631 0 0 0 BMPRU
iproute2命令家族
ip命令
ip link
ip link set:设置接口属性。
格式:ip link set DEVICE COMMAND
子命令:
- up | down:启用或禁用网卡接口;
- multicast {on | off}:启用或禁用多播功能;
- name Name:重命名网卡接口;
- netns PID:ns为namespace,用于将网卡接口移动到指定的网络名称空间中;
ip link show:显示设备属性
格式:ip link show [DEVICE]
ip link help:显示简要使用帮助
ip netns
ip netns list:列出所有的netns;
ip netns add NAME:创建指定的netns;
ip netns del NAME:删除指定的netns;
ip netns exec NAME COMMAND:在指定的netns中运行命令;
ip addr
ip addr {add | del}:添加和删除IP地址
格式:ip addr {add | del} IFADDR/PREFIX dev STRING
[root@www ~]# ip addr add 10.0.0.10/8 dev eno33554984 #添加地址
[root@www ~]# ip addr del 10.0.0.10/8 dev eno33554984 #删除地址
ip addr show:显示网卡接口的地址信息
格式:ip addr show [device]
[root@www ~]# ip addr show eno33554984
ip addr flush:清空地址
格式:ip addr flush DEVICE
[root@www ~]# ip addr show eno33554984
ip route:管理路由表
ip route add:添加路由条目
格式:`ip route add ADDRESS/PREFIX via GATEWAY [dev IFACE] [src SOURCE_IP]
[root@www ~]# ip route add 10.0.0.0/8 via 192.168.179.100
ip route change:改变已存在的路由条目,用法与add相似;
ip route replace:替代或添加路由条目,用法与add相似;
ip route delete:删除路由条目;
格式:ip route del ADDRESS/PREFIX
[root@www ~]# ip route del 10.0.0.0/8
ip route show:显示路由表
格式:ip route show [dev IFACE]
[root@www ~]# ip route show dev eno16777736
default via 192.168.179.2 proto static metric 100
192.168.179.0/24 proto kernel scope link src 192.168.179.128
ip route flush:清空路由条目
格式:ip route flushe [dev IFACE]
[root@www ~]# ip route flush dev eno33554984
ip route get:获取指定路由条目
格式:ip route get ADDRESS
[root@www ~]# ip route get 10.0.0.0
10.0.0.0 via 192.168.179.100 dev eno16777736 src 192.168.179.128
cache
ss命令
show status,显示网络状态
格式:`ss [OPTION]… [FILTER]
选项:
- -t:TCP协议相关连接
- -u:UDP相关链接
- -w:raw socket相关的连接
- -l:监听状态的连接
- -a:所有状态的连接
- -n:数字格式
- -p:相关程序及其PID
- -e:扩展格式信息
- -m:内存用量
- -o:计时器信息
过滤器:FILTER := [ state TCP-STATE ] [ EXPRESSION ]
- state TCP_STATE
TCP的常见状态:LISTEN、ESTABLISEHD、FIN_WAIT_1、FIN_WAIT_2、SYN_SENT、SYN_RECV、CLOSED。 - EXPRESSION:
目标端口:dport =
源端口:sport =
示例:’( dport = :22 or sport = :22)’
[root@www ~]# ss -tan '( dport = :22 or sport = :22 )'
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
ESTAB 0 0 192.168.179.123:22 192.168.179.1:49524
LISTEN 0 128 :::22 :::*
nmcli命令
nmcli device
格式:nmcli device COMMAND
- status :显示各个网卡接口的状态
[root@www ~]# nmcli device status
设备 类型 状态 CONNECTION
eno16777736 ethernet 连接的 eno16777736
eno33554984 ethernet 连接的 eno33554984
lo loopback 未管理 --
- show :显示网络接口信息
格式:nmtil device show
[root@www ~]# nmcli device show eno33554984
- connect | disconnect:连接/断开网卡接口
格式:nmcli device {connect | disconnect} IFACE
[root@www ~]# nmcli device disconnect eno33554984
Device 'eno33554984' successfully disconnected.
- delete:删除软件接口,如Pbonds, bridges, teams…
nmcli connection
管理网络连接
show
up
down
add
edit
modify
delete
reload
load
配置文件
网卡配置文件
/etc/sysconfig/network-scripts/route-IFACE
文件中的参数:
DEVICE:此配置文件对应的设备的名称 ONBOOT:在系统引导过程中,是否激活此接口 UUID:此设备的唯一标识
IPV6INIT:是否初始化IPv6
BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none
TYPE:接口类型,常见的有Ethernet,Bridge DNS1:第一DNS服务器指向 DNS2:第二DNS服务器指向
DNS3:第三DNS服务器指向 DOMAIN:DNS搜索域
NETMASK:子网掩码;CentOS7支持使用PREFIX以长度方式指明子网掩码 USERCTL:是否允许普通用户控制此设备
PEERDNS:若果OBBTPROTO的值为“dhcp”,是否允许dhcp
server分配dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许 HWADDR:设备的MAC地址
NM_CONTROLLED:是否使用NetworkManager服务控制接口
路由表配置文件
/etc/sysconfig/network-scripts/route-IFACE
配置文件内容有两种格式,但同一个配置文件只能使用一种格式,不能混合使用。
第一种格式:
TARGET via GW
第二种格式:
ADDRESS#=TARGET
NETMASK#=MASK
GATEWAY#=NEXTHOP
为网卡别名添加配置文件
网卡别名的配置文件与普通的网卡配置文件相似,但其配置文件中的参数DEVICE的值应为网卡的别名,且不支持动态获取IP地址。