Linux操作系统笔记3

发布于:2025-06-30 ⋅ 阅读:(17) ⋅ 点赞:(0)

接口管理命令:
ip命令 字符终端
nmcli命令 字符终端
nmtui命令 可视化终端

ip命令:
使用 ip 命令可以配置临时网络的连接信息,相关命令如下:
ip link:显示网络设备运行状态
ip -s link:显示更详细的设备信息
ip link show [网络设备名]:仅显示指定的网络设备名的信息
ip link show up :仅显示当前处于激活状态的设备信息
ip link set [网络设备名] down:将指定的网络设备下线
ip [-s] addr|a show [网络设备名]:
查看指定网络设备(网卡名称)的配置信息,如果加了 -s 选项,则会添加相关的统计信息,如果接收到的或传送的数据包等
ip [-4] addr|a add IP地址[/掩码] dev [网络设备名]:添加一个临时的 IPv4 的地址(重启后失效)
ip -6 addr|a add IP地址[/掩码] dev [网络设备名]:添加一个临时的 IPv6 的地址
ip [-4] addr|a del IP地址[/掩码] dev [网络设备名]:删除网卡的临时IPv4地址
使用示例:
[root@bogon system-connections]# ip link
[root@bogon system-connections]# ip -s link
 [root@bogon system-connections]# ip link show ens160
 [root@bogon system-connections]# ip a
 [root@bogon system-connections]# ip -s a
 [root@bogon system-connections]# ip -s a show ens160
# 添加一个临时的 ip 地址
[root@bogon system-connections]# ip -4 a add 192.168.72.120/24 dev ens160
[root@bogon system-connections]# ip a show ens160
# 删除一个临时的 IP 地址
[root@bogon system-connections]# ip -4 a del 192.168.72.120/24 dev ens160
[root@bogon system-connections]# ip a show ens160

修改配置文件
在 redhat 9 中,已经不推荐修改配置文件了,而推荐使用命令的方式来进行配置。
要修改配置文件,我们需要编辑 /etc/NetworkManager/system-connections 目录下的 ens160.nmconnection 文件中

nmcli 命令:
查看网卡设备
语法: nmcli device 或者简写为 nmcli d
使用示例:
[root@localhost system-connections]# nmcli device
[root@localhost system-connections]# nmcli d
[root@localhost system-connections]# nmcli d show 
[root@localhost system-connections]# nmcli d show ens160 #显示指定设备的详细信息
[root@localhost system-connections]# nmcli d connect ens160 ## 查看当前连接设备信息
[root@localhost system-connections]# nmcli d disconnect ens160 # 断开网络,也就是把网卡禁用了
[root@localhost system-connections]# route -n # 查看网关

查看网卡配置
语法: nmcli connectioin 或简写为 nmcli c
[root@localhost ~]# nmcli connection # 查看网卡信息
[root@localhost ~]# nmcli c show ens160 | grep -i gateway # 查看自动获取的网关地址
[root@localhost ~]# nmcli c show ens160 | grep -i dns # 查看当前网卡的dns配置

配置网卡IP:
1.非交互式
需求:修改 ens160 的 ip 地址为 192.168.72.128,并且是 ipv4,自动连接,dns为 114.114.114.114,网关为 192.168.72.2,子网掩码为 255.255.255.0,然后再添加一个 ip地址:192.168.72.125
[root@localhost ~]# nmcli c modify ens160 ipv4.method manual
autoconnect yes ipv4.addresses 192.168.72.128/24 ipv4.gateway 192.168.72.2 ipv4.dns 114.114.114.114 +ipv4.addresses 192.168.72.125/24
如果没有立即生效,需要重启服务: systemctl restart NetworkManager
[root@localhost ~]# cat /etc/NetworkManager/systemconnections/-ens160.nmconnection
命令说明:
nmcli c modify ens160:表示要修改的网卡
ipv4.method manual:表示网络连接方式为手动配置
autoconnect yes:表示自动连接,即系统一启动网络就可以用
ipv4.addresses 192.168.72.128/24:配置 ipv4 格式的 IP 地址和子网掩码
ipv4.gateway 192.168.72.2:配置网关信息,就是路由指向下一跳
ipv4.dns 114.114.114.114:配置dns服务,域名解析服务
+ipv4.addresses 192.168.72.125/24:表示再添加一个 IP 地址

2.交互式
[root@localhost ~]# nmcli c edit ens160
nmcli> goto ipv4
nmcli ipv4> set dns 192.168.72.2
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit
nmcli c show ens160 | grep -i dns  # 查看当前网卡的dns配置
nmcli c up ens160 # 连接网络,即让网卡可用
nmcli c down ens160 # 断开网络
nmcli c delete ens160 # 删除网络,注意这个命令不要执行
nmtui 命令:
这个命令是用于可视化的方式来进行配置,要想实现这个功能,我们需要先执行如下的操作。
[root@localhost ~]#nmtui
# 启用 cockpit 服务
[root@localhost ~]# systemctl start cockpit
打开浏览器,然后访问:https://192.168.72.128:9090/,并用普通用户登录

网络问题汇总:
1、连接激活失败 No suitable device found for this
解决方案:
mv /var/lib/NetworkManager /var/lib/NetworkManager.bak
reboot

网络维护命令:
ssh命令:
ssh命令的功能是安全地远程连接服务器主机系统,作为OpenSSH套件中的客户端连接工具,
ssh命令可以让我们轻松地基于SSH加密协议进行远程主机访问,从而实现对远程服务器的管理工作。

前提:
1、网络要畅通
2、服务器上要的ssh服务要启动   #systemctl status sshd
语法格式:ssh 参数 域名或IP地址

常用参数:
-1 使用SSH协议版本1    -i 设置密钥文件
-2 使用SSH协议版本2    -l 设置登录用户名
-4 基于IPv4网络协议     -N 不执行远程指令
-6 基于IPv6网络协议      -o 设置配置参数选项
-a 关闭认证代理连接转发功能     -p 设置远程服务器上的端口号
-A 开启认证代理连接转发功能       -q 静默执行模式
-b 设置本机对外提供服务的IP地址      -s 请求远程主机上的子系统调用
-c 设置会话的密码算法      -v 显示执行过程详细信息
-C 压缩所有数据      -V 显示版本信息
参考示例
基于SSH协议,远程访问服务器主机系统:
ssh 172.16.80.64  #用默认的root身份访问目标服务器
root@172.16.80.64's password: 这里输入root的密码
ssh -l caoqb 172.16.80.64   #使用指定的用户身份登录远程服务器主机系统
ssh 172.16.80.64 "free -m"  #登录远程服务器主机系统后执行一条命令,然后直接返回当前用户:
ssh -1 172.16.80.64 #强制使用v1版本的SSH加密协议连接远程服务器主机
也可以用xshell等可视化的工具直接通过ssh的22号端口连接访问

netstat命令:
netstat命令来自英文词组network statistics的缩写,其功能是显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等。
netstat命令不仅应用于Linux系统,而且Windows XP、Windows 7、Windows10及Windows 11均已默认支持,并且可用参数也相同,有经验的运维人员可以直接上手。

语法格式:netstat 参数

常用参数:
-a 显示所有连接中的接口信息   -n 直接使用IP地址,而不是域名
-A 设置网络连接类型   -N 显示网络硬件外围设备的符号链接名称
-c 持续显示网络状态   -o 显示计时器数据信息
-C 显示路由配置信息  -p 显示正在使用接口的程序识别码和名称
-F 显示路由缓存信息   -r 显示路由表信息
-g 显示多重广播功能群组成员名单  -s 显示网络工作信息统计表信息
-h 显示帮助信息   -t 显示TCP传输协议的连线状态
-i 显示网络界面信息表单   -u 显示UDP传输协议的连线状态
-l 仅显示正在监听的服务状态    -V 显示版本信息

参考示例
netstat -a    #显示系统网络状态中的所有连接信息:
netstat -nu    #显示系统网络状态中的UDP连接信息
netstat -apu    #显示系统网络状态中的UDP连接端口号使用信息
netstat -i    #显示网卡当前状态信息
netstat -r    #显示网络路由表状态信息
netstat -ap | grep ssh    #找到某个服务对应的连接信息

dhclient命令:
dhclient命令来自英文词组DHCP client的缩写,其功能是动态获取或释放IP地址。
使用dhclient命令前,需要将网卡模式设置成DHCP自动获取,否则静态模式的网卡不会主动向服务器获取如IP地址等网卡信息。
1、redhat 默认没有安装这个命令,需要手动安装, yum install dhcp-client
2、命令在dhcp包中子模块,属于动态网络地址管理单元。

语法格式:dhclient 参数 网卡名

常用参数:
-4 基于IPv4网络协议      -r 释放IP地址
-6 基于IPv6网络协议     -s 在获取IP地址前指定DHCP服务器
-d 以前台方式运行        -v 显示执行过程详细信息
-F 设置向DHCP服务器发送的FQDN       -V 设置要发送给DHCP服务器的厂商类标识符
-H 设置向DHCP服务器发送的主机名      -w 即使没有找到广播接口,也继续运行
-n 不配置任何接口                 -x 停止DHCP客户端,而不释放当前租约
-p 设置DHCP客户端监听的端口号      -timeout 设置最大响应超时时间
-q 静默执行模式      -version 显示版本信息
参考用例:
dhclient ens160      #通过指定网卡发起DHCP请求,获取网卡参数
dhclient -r      #释放系统中已获取的网卡参数
dhclient -s 192.168.10.10      #向指定的服务器请求获取网卡参数
dhclient -x            #手动停止执行dhclient服务进程

ifconfig命令:
ifconfig命令来自英文词组network interfaces configuring的缩写,其功能是显示或设置网络设备参数信息。
在Windows系统中,与之类似的命令为ipconfig,同样的功能可以使用ifconfig去完成。通常不建议使用
ifconfig命令配置网络设备的参数信息,因为一旦服务器重启,配置过的参数会自动失效,因此还是编写到配置文件中更稳妥。

语法格式:ifconfig 参数 网卡名 动作

常用参数:
-a 显示所有网卡状态     -v 显示执行过程详细信息
-s 显示简短状态列表
常用动作:
add 设置网络设备的IP地址       down 关闭指定的网络设备
del 删除网络设备的IP地址        up 启动指定的网络设备

参考示例:
ifconfig #显示系统的网络设备信息
ifconfig ens160 down
ifconfig ens160 up    对指定的网卡设备依次进行关闭和启动操作
ifconfig ens160 192.168.10.20 netmask 255.255.255.0    对指定的网卡设备执行IP地址修改操作
ifconfig ens160 hw ether 00:aa:bb:cc:dd:ee    对指定的网卡设备执行MAC地址修改操作
ifconfig ens160 -arp
ifconfig ens160 arp    #对指定的网卡设备依次进行ARP协议关闭和开启操作

ifconfig ens160 192.168.42.129/24 up
ens160 就是实际网卡名称
192.168.42.129 你要配置的ip地址
24 配置给ip地址的子网掩码24就是24个1,11111111 11111111 11111111 0000000
up 配置ip和mask后启动改网卡

ifconfig ens160 down 网卡停用
ifconfig ens160 192.168.42.129/24  网卡重新配置
ifconfig ens160 up 网卡启动

ping命令:
ping命令的功能是测试主机间网络的连通性,它发送出基于ICMP传输协议的数据包,要求对方主机予以回复。若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,我们也就可得知对方主机系统在线并运行正常了。
不过值得注意的是,ping命令在Linux下与在Windows下有一定差异,Windows系统下的ping命令会发送出去4个请求后自动结束该命令;而Linux系统则不会自动终止,需要用户手动按下Ctrl+C组合键才能结束,或是发起命令时加入-c参数限定发送数据包的个数。

语法格式:ping 参数 域名或IP地址
常用参数:
-4 基于IPv4网络协议    -I 使用指定的网络接口送出数据包
-6 基于IPv6网络协议    -n 仅输出数值
-a 发送数据时发出鸣响声    -p 设置填满数据包的范本样式
-b 允许ping一个广播地址    -q 静默执行模式
-c 设置发送数据包的次数    -R 记录路由过程信息

参考示例:
ping www.baidu.com #测试与指定域名之间的网络连通性(需手动按下Ctrl+C组合键结束命令)
ping -c 4 172.16.80.64 #测试与指定主机之间的网络连通性,发送请求包限定为4个
ping -c 4 www.baidu.com #测试与指定域名之间的网络连通性,发送请求包限定为4个
ping -c 3 -i 0.2 -W 3 192.168.10.10 
#测试与指定主机之间的网络连通性,发送3个请求包,每次间隔0.2s,最长等待时间为3s

互联网出故障的解决流程:
1、ping 自己的网卡 ,确认网卡工作正常。 ping 192.168.42.128 《=ifconfig == ens160的ip
2、ping 自己的网关,确认下一跳工作正常. ping 192.168.42.2 《=nmcli d show ens160 == gateway
3、ping dns服务器,确认互联网能工作组成。
ping 114.114.114.114 国内域名解析服务器
ping 8.8.8.8 国外域名解析服务器
ping 61.134.1.4 陕西省的域名解析服务器
4、ping 公共网站,比如 www.xxx.com 。 ping www.sina.com 测试与外网服务器的联通
添加网关(路由)指令:route add default gw 192.168.42.1  增加网关
 route del deault gw 192.168.42.1   删除网关

iptables命令:
iptables是一个防火墙策略管理工具的命令,同时也是一个基于内核级别的防火墙服务,用户可以基于它来对数据包进行过滤操作,拒绝掉危险的外部请求流量,保护内网的安全。
iptables命令默认仅支持ipv4协议,如需ipv6协议支持需使用ip6tables命令。

语法格式:iptables [参数] [对象] 

常用参数:
-A 向规则链中追加条目    -c 初始化包计数器和字节计数器
-D 从规则链中删除条目     -E 重命名指定的用户自定链
-F 清除规则链中的现有条目       -t 设置要管理的表
-h 显示帮助信息      -i 设置数据包进入本机的网络接口
-j 设置要跳转的目标     -I 向规则链中插入条目
-L 显示规则链中的已有条目      -N 创建新的用户自定义规则链
-o 设置数据包离开本机所使用的网络接口    -p 设置要匹配数据包的协议类型
-P 设置规则链中的默认目标策略    -R 替换规则链中的指定条目
-s 设置要匹配数据包的源IP地址   -v 显示执行过程详细信息
-X 删除指定的用户自定链     -Z 清空规则链中的包计数器和字节计数器

参考示例:
iptables -L    显示当前防火墙策略中全部的过滤表信息:
iptables -L -t nat     显示当前防火墙策略中指定的NAT表信息
iptables -I INPUT -s 192.168.10.10 -j DROP  禁止指定的远程主机访问本地全部的服务,通通禁止
iptables -I INPUT -s 192.168.10.10 -p tcp --dport 22 -j DROP    禁止指定的远程主机访问本地的某个端口,其余允许
iptables -F   清理后全部放开同行


网站公告

今日签到

点亮在社区的每一天
去签到