网络管理命令
1. 启用NetworkManager服务
Centos7针对network服务的替代是NetworkManager服务,两者只能使用其中之一,如果两个service服务都在运行中必然有问题:
shell
[root@hadoop100 ~]# systemctl status network
● network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: active (exited) since 四 2024-01-11 22:24:08 CST; 16h ago
Docs: man:systemd-sysv-generator(8)
[root@hadoop100 ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since 四 2024-01-11 21:32:57 CST; 17h ago
Docs: man:NetworkManager(8)
Main PID: 595 (NetworkManager)
CGroup: /system.slice/NetworkManager.service
└─595 /usr/sbin/NetworkManager --no-daemon
编写批量执行脚本restart_net.sh
sh
[jack@hadoop106 ~]$ cat restart_net.sh
#!/bin/bash
## 关闭network服务
systemctl stop network
## 关闭开机自启network服务
chkconfig network off
## 命令NetworkManager使用/etc/sysconfig/network-scripts/ifcfg-ens33 网卡配置文件
nmcli connection up ens33
## 重启NetworkManager服务,配置生效
systemctl restart NetworkManager
2. ping 命令
它发送出基于ICMP传输协议的数据包,要求对方主机予以回复。若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,我们也就可得知对方主机系统在线并运行正常了。
提示
ping命令在Linux下与在Windows下有一定差异,Windows系统下的ping命令会发送出去4个请求后自动结束该命令;而Linux系统则不会自动终止,需要用户手动按下Ctrl+C组合键才能结束,或是发起命令时加入-c参数限定发送数据包的个数。
语法格式:ping [参数] 域名或IP地址
常用参数说明:
参数 | 参数含义 |
---|---|
-c | 设置发送数据包的次数 |
-R | 记录路由过程信息 |
-s | 设置数据包的大小 |
-l | 使用指定的网络接口送出数据包 |
-i | 设置收发信息的间隔时间 |
-W | 指定超时时间,默认4秒,单位:秒 |
-4 | 基于IPv4网络协议 |
-6 | 基于IPv6网络协议 |
-V | 显示版本信息 |
sh
[jack@hadoop106 ~]$ ping -a www.baidu.com
PING www.a.shifen.com (183.2.172.185) 56(84) bytes of data.
64 bytes from www.baidu.com (183.2.172.185): icmp_seq=1 ttl=52 time=35.4 ms
64 bytes from www.baidu.com (183.2.172.185): icmp_seq=2 ttl=52 time=33.3 ms
64 bytes from www.baidu.com (183.2.172.185): icmp_seq=3 ttl=52 time=44.0 ms
^[[A64 bytes from www.baidu.com (183.2.172.185): icmp_seq=4 ttl=52 time=33.2 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 33.228/36.531/44.095/4.452 ms
## 测试与指定主机之间的网络连通性,发送2个请求包,每次间隔0.2s,最长等待时间为3s
[jack@hadoop106 ~]$ ping -c 3 -i 0.2 -W 5 www.google.com
PING www.google.com (108.160.172.200) 56(84) bytes of data.
--- www.google.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 414ms
3. ssh命令
用于安全地远程连接服务器主机系统,方便进行远程主机访问管理操作。
语法:ssh 参数 域名或IP地址
常用参数:
参数 | 参数含义 |
---|---|
-p | 设置远程服务器上的端口号 |
-l | 设置登录用户名 |
-c | 设置会话的密码算法 |
-C | 压缩所有数据 |
-T | 禁止分配伪终端 |
-t | 强制分配伪终端 |
-4 | 基于IPv4网络协议 |
-6 | 基于IPv6网络协议 |
-V | 显示版本信息 |
sh
:::tip
伪终端在ssh服务端创建, 不分配伪终端,会导致一些需要`tty`的命令无法正常使用。比如`vim`
:::
[jack@hadoop106 ~]$ ssh root@192.168.101.107
root@192.168.101.107's password:
Last login: Tue Mar 12 09:00:36 2024
# 指定用户在22端口连接,随后执行指令
[jack@hadoop106 ~]$ ssh -l root -p 22 192.168.101.107 "free -h"
root@192.168.101.107's password:
total used free shared buff/cache available
Mem: 972M 120M 745M 7.6M 106M 724M
Swap: 4.0G 0B 4.0G
4. netstat命令
netstat(全称network statistics), 其功能是显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等。
语法格式:netstat 参数
常用参数:
参数 | 参数含义 |
---|---|
-a | 显示所有连接中的接口信息 |
-r | 显示路由表信息 |
-s | 显示网络工作信息统计表信息 |
-C | 显示路由配置信息 |
-c | 持续显示网络状态 |
-t | 显示TCP传输协议的连线状态 |
-u | 显示UDP传输协议的连线状态 |
-p | 显示正在使用接口的程序识别码和名称 |
-V | 显示版本信息 |
sh
# 显示系统网络状态中的所有连接信息
[jack@hadoop106 ~]$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp 0 36 hadoop106:ssh 192.168.101.11:7126 ESTABLISHED
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
udp 0 0 hadoop106:36624 electrode.felixc.at:ntp ESTABLISHED
udp 0 0 localhost:323 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 8962 /run/systemd/journal/stdout
unix 5 [ ] DGRAM 8965 /run/systemd/journal/socket
......
# 显示网络路由表状态信息
[jack@hadoop106 ~]$ netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default gateway 0.0.0.0 UG 0 0 0 ens33
192.168.101.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
# 找到某个服务所对应的连接信息
[jack@hadoop106 ~]$ netstat -ap |grep ssh
(No info could be read for "-p": geteuid()=1000 but you should be root.)
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN -
tcp 0 36 hadoop106:ssh 192.168.101.11:7126 ESTABLISHED -
tcp6 0 0 [::]:ssh [::]:* LISTEN -
5. ifconfig命令
ifconfig(全称network interfaces configuring),其功能是显示或设置网络设备参数信息。
使用ifconfig命令配置网络设备的参数信息保存到内存中,因为一旦服务器重启,配置过的参数会自动失效,因此还是编写到配置文件中更稳妥。
语法:ifconfig 参数 网卡名 动作
常用参数:
参数 | 参数含义 |
---|---|
-a | 显示所有网卡状态 |
-v | 显示执行过程详细信息 |
-s | 显示简短状态列表 |
add | 设置网络设备的IP地址 |
del | 删除网络设备的IP地址 |
down | 关闭指定的网络设备 |
up | 启动指定的网络设备 |
sh
# 显示系统的网络设备信息
[jack@hadoop106 ~]$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.101.106 netmask 255.255.255.0 broadcast 192.168.101.255
inet6 fe80::20c:29ff:fe9e:61dc prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:9e:61:dc txqueuelen 1000 (Ethernet)
RX packets 4373 bytes 363311 (354.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1618 bytes 194283 (189.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# 对指定的网卡设备执行IP地址修改操作
[jack@hadoop106 ~]$ ifconfig ens160 192.168.10.20 netmask 255.255.255.0
6. 设置固定IP
6.1 Centos6.x版本
- 编辑网卡信息
sh
# 切换为root用户
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 修改若没有就添加以下内容
IPADDR=192.168.0.107
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=114.114.114.114
## 由no改为yes
ONBOOT=yes
## 由dhcp改为none
BOOTPROTO=none
编辑完成后,按一下键盘左上角ESC键,输入:wq
在屏幕的左下方可以看到,输入回车保存配置文件。 2. 重启一下网络服务
sh
service network restart
6.2 Centos7.x版本
- 默认的网卡信息变为ifcfg-ens33, 编辑网卡信息:
sh
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 修改若没有就添加以下内容
IPADDR=192.168.191.131 # ip地址
PREFIX=24
NETMASK=255.255.255.0 # 子网掩码
NETWORK=192.168.191.0 # ip段
GATEWAY=192.168.191.2 # 网关地址
BROADCAST=192.168.191.255 # 广播地址, 网关地址最后一位换成255
BOOTPROTO=static
- 编辑/etc/resolv.conf
sh
nameserver 192.168.191.2
nameserver 114.114.114.114