前言
- Linux系统本身就被设计为具有强大的网络与通信功能,它支持 TCP/IP , ATM , IPX/SPX , X.2.5 , Frame-relay , AppleTalk等多种网络通讯协议,并将协议的实现加入到Linux内核中,提供了高效的网络通信处理能力
- 查看及测试网络配置是管理Linux网络服务的第一步
一:查看网络设置
1.1:使用ifconfig 命令查看网络接口地址
-
主机的网络接口卡(网卡)通常称为"网络接口"。
-
查看所有活动网络接口的信息
- ifconfig命令不带任何选项和参数时,将显示当前主机中已启用(活动)的网络接口信息
[root@localhost ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.197.161 netmask 255.255.255.0 broadcast 192.168.197.255 inet6 fe80::1d30:11ba:dcc1:394a prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c3:77:97 txqueuelen 1000 (Ethernet) ...以下省略内容 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) ...以下省略内容 'ens33:第一块以太网卡的名称' ' inet 192.168.197.161 :IP地址' 'netmask 255.255.255.0 :子网掩码' ' broadcast 192.168.197.255 :广播地址' 'ether 00:0c:29:c3:77:97 : MAC地址' 'lo:虚拟的回环接口,lo 是 loopback 的缩写,不是真正的网络接口,而是一个虚拟的网络接口,lo 的IP地址默认为 “127.0.0.1”,回环地址通常仅用于对本机的网络测试'
-
查看所有网络接口信息
[root@localhost ~]# ifconfig -a ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.197.161 netmask 255.255.255.0 broadcast 192.168.197.255 inet6 fe80::1d30:11ba:dcc1:394a prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c3:77:97 txqueuelen 1000 (Ethernet) RX packets 670908 bytes 906530069 (864.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 257925 bytes 25819625 (24.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 'TX RX 表示通过该网络接口发出和接收的数据包个数,流量等信息' lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) ...省略内容
-
查看指定网络接口信息
- 当只需查看其中一个网络接口的信息时,可以使用网络接口的名称作为ifconfig命令的参数,不论该网络接口是否处于激活状态
[root@localhost ~]# ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.197.161 netmask 255.255.255.0 broadcast 192.168.197.255 ...以下省略内容
1.2:使用 hostname命令查看主机名称
-
查看当前主机名
[root@localhost ~]# hostname localhost.localdomain 'localhost:主机名' 'localdomain:域'
-
修改当前主机名
[root@localhost ~]# hostnamectl set-hostname ddd [root@localhost ~]# su [root@ddd ~]#
1.3:使用route命令查看路由表条目
-
直接执行route命令可以查看到当前主机中的路由表信息
- linux系统中的路由表决定着从本主机向其他主机,其他网络发送数据的去向,是排除网络故障的关键信息
[root@ddd ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default gateway 0.0.0.0 UG 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 192.168.197.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 'Destination列对应目标网段的地址' 'Gateway列对应下一跳路由器地址' 'Genmask列对应子网掩码' 'Iface列对应发送数据的网络接口' '目标网段为default时,表示此行时默认网关记录'
1.4:使用netstat命令查看网络连接情况
-
netstat命令
-
查看系统的网络连接状态,路由表,接口统计等信息,是了解网络状态及排除网络服务故障的有效工具
-
'netstat命令基本格式' netstat [选项] 常用选项 -a:显示当前主机中所有活动的网络连接信息(包括监听,非监听状态的服务端口) -n:以数字的形式显示相关的主机地址,端口等信息 -p:显示与网络连接相关联的进程号,进程名称信息('该选项需要root权限') -t:查看TCP协议相关信息 -u:显示UDP协议相关的信息 -r:显示路由信息 -l:显示处于监听(listening)状态的网络连接及端口信息
-
通常使用“-ntap”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。
结合管道符号使用“grep”命令,还可以在结果中过滤出所需要的特定记录。
[root@localhost ~]# netstat -ntap '以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。' Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd ..省略部分信息 tcp 0 0 127.0.0.1:25
-