Linux网络——配置网络之ifconfig家族命令
Posted shamao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux网络——配置网络之ifconfig家族命令相关的知识,希望对你有一定的参考价值。
Linux网络——配置网络之ifconfig家族命令
摘要:本文主要学习了ifconfig家族用来配置网络的命令。
ifconfig命令
ifconfig命令用来显示或设置网络接口信息,设置只是临时生效,永久生效需要更改配置文件。
在最新版的CentOS 7上已经没有了这个命令,需要使用 yum install -y net-tools 命令安装。
基本语法
1 ifconfig [选项]
选项说明
1 网卡:显示指定网卡接口信息。 2 -a:显示全部接口信息。 3 -s:显示摘要信息。 4 网卡 up:启动指定网卡。 5 网卡 down:关闭指定网卡。 6 网卡 reload:重启指定网卡。 7 网卡 IP地址:修改网卡的IP地址。 8 网卡 IP地址/子网掩码位数:修改网卡的IP地址和子网掩码。 9 网卡 netmask 子网掩码:修改网卡的子网掩码。 10 网卡 broadcast 地址:修改网卡的广播地址。 11 网卡 mtu 值:修改网卡的最大传输单元。 12 网卡 hw 地址:修改网卡的MAC地址。 13 arp:启用ARP协议。 14 arp:关闭ARP协议。 15 add:给指定网卡配置IPv6地址。 16 del:删除指定网卡的IPv6地址。
使用举例
1 [root@localhost ~]# ifconfig eno16777736 2 eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 3 inet 192.168.35.128 netmask 255.255.255.0 broadcast 192.168.35.255 4 inet6 fe80::20c:29ff:fee3:52a0 prefixlen 64 scopeid 0x20<link> 5 ether 00:0c:29:e3:52:a0 txqueuelen 1000 (Ethernet) 6 RX packets 11957 bytes 7976839 (7.6 MiB) 7 RX errors 0 dropped 0 overruns 0 frame 0 8 TX packets 4216 bytes 1518092 (1.4 MiB) 9 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 10 11 [root@localhost ~]#
结果说明
1 eno16777736表示网卡名称。从flags可知该接口已启用,支持广播、组播。mtu表示最大传输单元为1500。 2 inet表示IPv4地址。netmask表示子网掩码。broadcast表示广播地址。 3 inet6表示IPv6地址。prefixlen表示掩码长度。scopeid表示作用域,link表示仅该接口有效。 4 ether表示网卡接口的MAC地址。txqueuelen表示传输队列长度。Ethernet表示接口类型为Ethernet。 5 RX表示接收的报文情况,TX表示发送的报文情况。 6 packets表示接收报文数,bytes表示接收总字节数,errors表示错误报文数,dropped表示丢弃报文数,overruns表示溢出报文数,carrier表示载荷报文数,collisions表示冲突报文数。
hostname命令
hostname命令用于显示和设置系统的主机名称,设置只是临时生效,永久生效需要更改配置文件。
基本语法
修改主机名:
1 hostname 主机名
查看系统信息:
1 hostname [选项]
选项说明
1 -a:显示主机别名。 2 -d:显示DNS域名。 3 -f:显示FQDN名称。 4 -i:显示主机的ip地址。 5 -s:显示短主机名称,在第一个点处截断。 6 -y:显示NIS域名。
使用举例
1 [root@localhost ~]# hostname 2 localhost.localdomain 3 [root@localhost ~]# hostname -a 4 localhost.localdomain localhost4 localhost4.localdomain4 localhost.localdomain localhost6 localhost6.localdomain6 5 [root@localhost ~]#
route命令
route命令用于显示和操作IP路由表,设置只是临时生效,永久生效需要更改配置文件。
基本语法
查看路由信息:
1 route [-nee]
设置路由信息:
1 route [add|del] [-net|-host] [netmask] [reject|dev|gw]
选项说明
查看路由信息:
1 -n:不解析主机名称,使用IP地址和端口号。 2 -ee:使用更详细的资讯来显示。
设置路由信息:
1 -net IP地址:表示后面连接的是到一个网络的路由表。 2 -host 主机:表示后面连接的是到一个主机的路由表。 3 netmask 子网掩码:指定路由表的子网掩码。 4 reject:设置指定路由不可达。 5 dev 网卡名称:指定由那个网路卡连线出去。 6 gw IP地址 网卡名称:指定由那个网关连接出去。
使用举例
查看路由信息:
1 [root@localhost ~]# route 2 Kernel IP routing table 3 Destination Gateway Genmask Flags Metric Ref Use Iface 4 default 192.168.35.2 0.0.0.0 UG 100 0 0 eno16777736 5 192.168.35.0 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736 6 [root@localhost ~]#
设置路由信息:
1 [root@localhost ~]# route add -net 192.168.35.0 netmask 255.255.255.0 dev eth0 2 [root@localhost ~]# route add -net 10.0.0.0 netmask 255.0.0.0 reject 3 [root@localhost ~]# route del -net 192.168.35.0 netmask 255.255.255.0 dev eth0 4 [root@localhost ~]# route del -net 10.0.0.0 netmask 255.0.0.0 reject
字段说明
路由信息字段说明:
1 Destination表示目标网络或目标主机。 2 Gateway表示网关地址,如果没有就显示星号。 3 Genmask表示网络掩码,目标是主机时需要设为255.255.255.255,目标是默认路由时会设置为0.0.0.0。 4 Flags表示旗标,总共有多个旗标。代表的意义如下: 5 U (route is up):该路由是启动(up)的。 6 H (target is a host):该路由是到一个主机(host)而非网域。 7 G (use gateway):该路由是到一个网关(gateway)。 8 R (reinstate route for dynamic routing):恢复动态路由产生的表项。 9 D (dynamically installed by daemon or redirect):该路由是由服务或者重定向创建的动态(dynamically)路由。 10 M (modified from routing daemon or redirect):该路由已经被修改(modified)了。 11 ! (reject route):这个路由将不会被接受,用来抵挡不安全的网域。 12 Metric表示路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的。 13 Ref表示路由引用次数。 14 Use表示该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。 15 MSS表示路由TCP连接的默认最大分段大小。 16 Window表示路由TCP连接的默认窗口大小。 17 irtt表示初始往返时间(rtt)。内核使用它来猜测最佳的TCP协议参数,而无需等待(可能是缓慢的)答案。 18 HH表示引用缓存路由的硬件头缓存的ARP条目和缓存路由的数量。如果缓存路由的接口不需要硬件地址,则为-1。 19 Arp表示缓存路由的硬件地址是否最新。 20 Iface表示网络接口名。
netstat命令
netstat命令用于显示网络相关信息,如网络连接,路由表,接口状态等。
基本语法
1 netstat [选项]
选项说明
1 -t:显示tcp协议相关的连接,tcp连接均有其连接状态,而所有连接状态在FSM(Finate State Machine,有限状态机)内进行转换。 2 -u:显示udp协议相关的连接,udp连接没有状态。 3 -w:显示raw协议相关的连接。 4 -a:显示所有状态的连接。 5 -x:显示UNIX网络连接。 6 --ip:显示Internet网络连接,包含tcp、udp、raw类型的连接。 7 -l:显示处于监听状态的连接。 8 -e:以扩展格式显示。 9 -n:以数字格式显示IP和Port。 10 -p:显示相关进程和PID。 11 -s:显示网络协议的统计。 12 -i:显示接口信息。 13 -r:显示路由表信息。
使用举例
显示Internet网络连接:
1 [root@localhost ~]# netstat -tanpe 2 Active Internet connections (servers and established) 3 Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name 4 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 18972 1472/sshd 5 tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 19596 1568/master 6 tcp 0 52 192.168.35.128:22 192.168.35.1:9341 ESTABLISHED 0 40660 4792/sshd: root@pts 7 tcp6 0 0 :::22 :::* LISTEN 0 18974 1472/sshd 8 tcp6 0 0 ::1:25 :::* LISTEN 0 19597 1568/master 9 [root@localhost ~]#
显示Unix域套接字:
1 [root@localhost ~]# netstat -xanp 2 Active UNIX domain sockets (servers and established) 3 Proto RefCnt Flags Type State I-Node PID/Program name Path 4 unix 2 [ ACC ] STREAM LISTENING 15887 1/systemd /var/run/dbus/system_bus_socket 5 unix 2 [ ] DGRAM 8216 1/systemd /run/systemd/notify 6 unix 2 [ ACC ] STREAM LISTENING 8224 1/systemd /run/systemd/journal/stdout 7 unix 5 [ ] DGRAM 8227 1/systemd /run/systemd/journal/socket 8 unix 12 [ ] DGRAM 8229 1/systemd /dev/log 9 ... 10 [root@localhost ~]#
显示路由信息,字段含义参考route命令:
1 [root@localhost ~]# netstat -rn 2 Kernel IP routing table 3 Destination Gateway Genmask Flags MSS Window irtt Iface 4 0.0.0.0 192.168.35.2 0.0.0.0 UG 0 0 0 eno16777736 5 192.168.35.0 0.0.0.0 255.255.255.0 U 0 0 0 eno16777736 6 [root@localhost ~]#
显示接口概要信息:
1 [root@localhost ~]# netstat -i 2 Kernel Interface table 3 Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg 4 eno16777736 1500 18667 0 0 0 6293 0 0 0 BMRU 5 lo 65536 76 0 0 0 76 0 0 0 LRU 6 [root@localhost ~]#
显示接口详细信息,字段含义参考ifconfig命令:
1 [root@localhost ~]# netstat -ie 2 Kernel Interface table 3 eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 4 inet 192.168.35.128 netmask 255.255.255.0 broadcast 192.168.35.255 5 inet6 fe80::20c:29ff:fee3:52a0 prefixlen 64 scopeid 0x20<link> 6 ether 00:0c:29:e3:52:a0 txqueuelen 1000 (Ethernet) 7 RX packets 18488 bytes 8457307 (8.0 MiB) 8 RX errors 0 dropped 0 overruns 0 frame 0 9 TX packets 6212 bytes 1926454 (1.8 MiB) 10 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 11 12 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 13 inet 127.0.0.1 netmask 255.0.0.0 14 inet6 ::1 prefixlen 128 scopeid 0x10<host> 15 loop txqueuelen 0 (Local Loopback) 16 RX packets 76 bytes 6612 (6.4 KiB) 17 RX errors 0 dropped 0 overruns 0 frame 0 18 TX packets 76 bytes 6612 (6.4 KiB) 19 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 20 21 [root@localhost ~]#
字段说明
查看Internet网络连接(tcp,udp,raw),结果字段含义如下:
1 Proto表示套接字使用的协议。 2 Recv-Q表示等待接收的队列长度。 3 Send-Q表示等待发送的队列长度。 4 Local Address表示本地主机地址。 5 Foreign Address表示远程连接地址。 6 State表示所处的状态。通常为以下几个值之一: 7 ESTABLISHED 套接字有一个有效连接。 8 SYN_SENT 套接字尝试建立一个连接。 9 SYN_RECV 从网络上收到一个连接请求。 10 FIN_WAIT1 套接字已关闭,连接正在断开。 11 FIN_WAIT2 连接已关闭,套接字等待远程方中止。 12 TIME_WAIT 在关闭之后,套接字等待处理仍然在网络中的分组。 13 CLOSED 套接字未用。 14 CLOSE_WAIT 远程方已关闭,等待套接字关闭。 15 LAST_ACK 远程方中止,套接字已关闭。等待确认。 16 LISTEN 套接字监听进来的连接。如果不设置-l或者-a选项,将不显示出来这些连接。 17 CLOSING 套接字都已关闭,而还未把所有输出发出。 18 UNKNOWN 套接字状态未知。 19 User表示启动此进程的用户,扩展字段。 20 Inode表示对应的套接字文件的inode号,扩展字段。 21 PID/Program name表示处理此套接字的程序进程名和PID。
查看Unix域套接字,结果字段含义如下:
1 Proto表示套接字使用的协议,通常是unix。 2 RefCnt表示使用数量,也就是通过此套接字连接的进程数。 3 Flags显示的标志为SO_ACCEPTON(显示为ACC),SO_WAITDATA(W)或SO_NOSPACE(N)。如果相应的进程等待一个连接请求,那么SO_ACCECPTON用于未连接的套接字。其他标志通常并不重要。 4 Type表示套接字使用的类型: 5 SOCK_DGRAM 此套接字用于数据报(无连接)模式。 6 SOCK_STREAM 流模式(连接)套接字。 7 SOCK_RAW 此套接字用于RAW模式。 8 SOCK_RDM 一种服务可靠性传递信息。 9 SOCK_SEQPACKET 连续分组套接字。 10 SOCK_PACKET RAW接口使用套接字。 11 UNKNOWN 未知。 12 State此字段包含以下关键字之一: 13 FREE 套接字未分配。 14 LISTENING 套接字正在监听一个连接请求。除非设置-l或者-a选项,否则不显示。 15 CONNECTING 套接字正要建立连接。 16 CONNECTED 套接字已连接。 17 DISCONNECTING 套接字已断开。 18 UNKNOWN 套接字状态未知。 19 空 套接字未连。 20 I-Node表示对应的套接字文件的inode号,扩展字段。 21 PID/Program name表示处理此套接字的程序进程名和PID。 22 Path表示当相应进程连入套接字时显示的路径名。
查看接口信息,结果字段含义如下:
1 Iface表示网卡接口名称。 2 MTU表示接口的最大传输单元。 3 RX表示接收的数据包情况,RX-OK表示准确接收的包数,RX-ERR表示产生错误的包数,RX-DRP表示丢弃的包数,RX-OVR表示溢出的包数。 4 TX表示发送的数据包情况,TX-OK表示准确发送的包数,TX-ERR表示产生错误的包数,TX-DRP表示丢弃的包数,TX-OVR表示溢出的包数。 5 Flg表示接口设置的标记,在利用ifconfig显示接口配置时,这些标记都采用一个字母。各个字母的含义如下: 6 B 已经设置了一个广播地址。 7 L 该接口是一个回送设备。 8 M 接收所有数据包(混乱模式)。 9 N 避免跟踪。 10 O 在该接口上,禁用ARP。 11 P 这是一个点到点链接。 12 R 接口正在运行。 13 U 接口处于活动状态。
以上是关于Linux网络——配置网络之ifconfig家族命令的主要内容,如果未能解决你的问题,请参考以下文章