Linux网络管理命令和技巧
Linux网络管理命令和技巧
网络管理概述
网络管理是Linux系统管理的重要组成部分,包括网络接口配置、IP地址管理、路由配置、DNS设置、网络服务管理等方面。本文将介绍Linux网络管理中常用的命令和技巧,帮助系统管理员更高效地管理Linux系统的网络。
网络接口管理
查看网络接口信息
ifconfig 命令
ifconfig命令是最常用的网络接口配置命令,用于显示和配置网络接口。
# 显示所有网络接口信息ifconfig
# 显示指定网络接口信息ifconfig eth0
# 显示网络接口的MAC地址ifconfig eth0 | grep HWaddr
# 显示网络接口的IPv6地址ifconfig eth0 | grep inet6ip 命令
ip命令是Linux 2.2+内核引入的新命令,功能更强大,是ifconfig的替代品。
# 显示所有网络接口信息ip addrip a
# 显示指定网络接口信息ip addr show eth0ip a s eth0
# 显示网络接口的链接状态ip linkip l
# 显示指定网络接口的链接状态ip link show eth0ip l s eth0netstat 命令
netstat命令用于显示网络连接、路由表、接口统计等信息。
# 显示所有网络接口信息netstat -i
# 显示详细的网络接口信息netstat -ie配置网络接口
ifconfig 命令
# 启动网络接口ifconfig eth0 up
# 关闭网络接口ifconfig eth0 down
# 配置IP地址和子网掩码ifconfig eth0 192.168.1.100 netmask 255.255.255.0
# 配置IP地址、子网掩码和广播地址ifconfig eth0 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
# 添加IPv6地址ifconfig eth0 add 2001:db8::1/64
# 删除IPv6地址ifconfig eth0 del 2001:db8::1/64
# 修改MAC地址ifconfig eth0 hw ether 00:11:22:33:44:55ip 命令
# 启动网络接口ip link set eth0 up
# 关闭网络接口ip link set eth0 down
# 配置IP地址ip addr add 192.168.1.100/24 dev eth0
# 删除IP地址ip addr del 192.168.1.100/24 dev eth0
# 修改MAC地址ip link set eth0 address 00:11:22:33:44:55
# 修改MTU值ip link set eth0 mtu 1500
# 修改网络接口的速度和双工模式ip link set eth0 speed 1000 duplex full网络接口配置文件
Debian/Ubuntu 系统
在Debian/Ubuntu系统中,网络接口配置文件位于/etc/network/interfaces。
# 查看网络接口配置cat /etc/network/interfaces
# 编辑网络接口配置sudo nano /etc/network/interfaces
# 重启网络服务sudo systemctl restart networking配置示例:
# 自动获取IP地址(DHCP)auto eth0iface eth0 inet dhcp
# 静态IP地址auto eth0iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4Ubuntu 18.04+ 系统
在Ubuntu 18.04及更高版本中,使用Netplan进行网络配置,配置文件位于/etc/netplan/目录。
# 查看Netplan配置文件ls /etc/netplan/cat /etc/netplan/00-installer-config.yaml
# 编辑Netplan配置文件sudo nano /etc/netplan/00-installer-config.yaml
# 应用Netplan配置sudo netplan apply
# 测试Netplan配置sudo netplan try配置示例:
network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]RHEL/CentOS 系统
在RHEL/CentOS系统中,网络接口配置文件位于/etc/sysconfig/network-scripts/目录。
# 查看网络接口配置文件ls /etc/sysconfig/network-scripts/cat /etc/sysconfig/network-scripts/ifcfg-eth0
# 编辑网络接口配置文件sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
# 重启网络服务sudo systemctl restart network配置示例:
# 自动获取IP地址(DHCP)DEVICE=eth0BOOTPROTO=dhcpONBOOT=yes
# 静态IP地址DEVICE=eth0BOOTPROTO=staticONBOOT=yesIPADDR=192.168.1.100NETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=8.8.8.8DNS2=8.8.4.4IP地址管理
查看IP地址
# 查看所有网络接口的IP地址ifconfigip addr
# 查看当前主机的公网IP地址curl ifconfig.mecurl ipinfo.io/ipwget -qO- ifconfig.me
# 查看当前主机的内网IP地址hostname -I配置IP地址
临时配置
使用ifconfig或ip命令进行临时配置,重启后失效。
# 使用ifconfig配置ifconfig eth0 192.168.1.100 netmask 255.255.255.0
# 使用ip配置ip addr add 192.168.1.100/24 dev eth0永久配置
修改网络接口配置文件进行永久配置,重启后依然有效。
参考上一节的网络接口配置文件部分。
IP地址冲突检测
# 使用arping检测IP地址冲突arping -c 3 192.168.1.100
# 指定网络接口检测IP地址冲突arping -i eth0 -c 3 192.168.1.100路由管理
查看路由表
route 命令
# 查看路由表route
# 查看详细的路由表route -n
# 查看IPv6路由表route -A inet6ip 命令
# 查看路由表ip routeip r
# 查看详细的路由表ip route showip r s
# 查看IPv6路由表ip -6 routeip -6 rnetstat 命令
# 查看路由表netstat -r
# 查看详细的路由表netstat -rn配置路由
route 命令
# 添加默认路由route add default gw 192.168.1.1
# 添加网络路由route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.2
# 添加主机路由route add -host 192.168.2.100 gw 192.168.1.1
# 删除默认路由route del default gw 192.168.1.1
# 删除网络路由route del -net 10.0.0.0 netmask 255.0.0.0
# 删除主机路由route del -host 192.168.2.100ip 命令
# 添加默认路由ip route add default via 192.168.1.1 dev eth0
# 添加网络路由ip route add 10.0.0.0/8 via 192.168.1.2 dev eth0
# 添加主机路由ip route add 192.168.2.100/32 via 192.168.1.1 dev eth0
# 删除默认路由ip route del default via 192.168.1.1 dev eth0
# 删除网络路由ip route del 10.0.0.0/8 via 192.168.1.2 dev eth0
# 删除主机路由ip route del 192.168.2.100/32 via 192.168.1.1 dev eth0
# 修改路由ip route change 10.0.0.0/8 via 192.168.1.3 dev eth0
# 替换路由ip route replace 10.0.0.0/8 via 192.168.1.3 dev eth0永久配置路由
Debian/Ubuntu 系统
在/etc/network/interfaces文件中添加路由配置。
# 编辑网络接口配置文件sudo nano /etc/network/interfaces
# 添加路由配置up route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.2down route del -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.2
# 重启网络服务sudo systemctl restart networkingUbuntu 18.04+ 系统
在Netplan配置文件中添加路由配置。
# 编辑Netplan配置文件sudo nano /etc/netplan/00-installer-config.yaml
# 添加路由配置network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 routes: - to: 10.0.0.0/8 via: 192.168.1.2 nameservers: addresses: [8.8.8.8, 8.8.4.4]
# 应用Netplan配置sudo netplan applyRHEL/CentOS 系统
在网络接口配置文件中添加路由配置,或在/etc/sysconfig/network-scripts/目录创建路由配置文件。
# 方法1:在网络接口配置文件中添加路由# 编辑网络接口配置文件sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
# 添加路由配置GATEWAY=192.168.1.1
# 重启网络服务sudo systemctl restart network
# 方法2:创建路由配置文件# 创建路由配置文件sudo nano /etc/sysconfig/network-scripts/route-eth0
# 添加路由配置10.0.0.0/8 via 192.168.1.2 dev eth0
# 重启网络服务sudo systemctl restart networkDNS配置
查看DNS配置
# 查看DNS配置文件cat /etc/resolv.conf
# 查看当前DNS服务器nslookup localhost | grep Server
# 查看DNS解析缓存(如果启用了nscd)nscd -g | grep cache配置DNS
临时配置
直接修改/etc/resolv.conf文件,重启网络服务后可能会被覆盖。
# 编辑DNS配置文件sudo nano /etc/resolv.conf
# 添加DNS服务器nameserver 8.8.8.8nameserver 8.8.4.4永久配置
根据不同的Linux发行版,修改相应的配置文件。
Debian/Ubuntu 系统
在/etc/network/interfaces文件中添加DNS配置。
# 编辑网络接口配置文件sudo nano /etc/network/interfaces
# 添加DNS配置iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4
# 重启网络服务sudo systemctl restart networkingUbuntu 18.04+ 系统
在Netplan配置文件中添加DNS配置。
# 编辑Netplan配置文件sudo nano /etc/netplan/00-installer-config.yaml
# 添加DNS配置network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]
# 应用Netplan配置sudo netplan applyRHEL/CentOS 系统
在网络接口配置文件中添加DNS配置。
# 编辑网络接口配置文件sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
# 添加DNS配置DNS1=8.8.8.8DNS2=8.8.4.4
# 重启网络服务sudo systemctl restart networkDNS测试
# 测试DNS解析nslookup google.com
# 测试DNS解析(使用指定的DNS服务器)nslookup google.com 8.8.8.8
# 测试DNS解析 dig google.com
# 测试DNS解析(使用指定的DNS服务器)dig @8.8.8.8 google.com
# 测试DNS解析 host google.com
# 测试DNS解析(使用指定的DNS服务器)host google.com 8.8.8.8网络连接测试
ping 命令
ping命令用于测试与目标主机的网络连接。
# 测试与目标主机的连接ping google.com
# 发送指定数量的数据包ping -c 5 google.com
# 设置数据包大小ping -s 100 google.com
# 设置ping的超时时间ping -W 2 google.com
# 使用IPv4ping -4 google.com
# 使用IPv6ping -6 google.com
# 持续ping直到按下Ctrl+Cping google.comtraceroute 命令
traceroute命令用于追踪数据包从本地到目标主机的路径。
# 追踪到目标主机的路径traceroute google.com
# 使用ICMP协议traceroute -I google.com
# 使用TCP协议traceroute -T google.com
# 使用UDP协议(默认)traceroute -U google.com
# 设置最大跳数traceroute -m 10 google.com
# 设置数据包大小traceroute -s 100 google.com
# 不解析主机名(加快速度)traceroute -n google.commtr 命令
mtr命令是ping和traceroute的组合,用于实时显示网络路径的质量。
# 启动mtrmtr google.com
# 以报告模式运行mtr -r google.com
# 以CSV格式输出mtr -c 10 -C google.com
# 不解析主机名(加快速度)mtr -n google.com
# 使用ICMP协议mtr --icmp google.com
# 使用TCP协议mtr --tcp google.comcurl 命令
curl命令用于在网络上传输数据,支持多种协议。
# 测试HTTP连接curl -I https://example.com
# 测试HTTPS连接curl -v https://example.com
# 测试FTP连接curl -I ftp://ftp.example.com
# 测试SMTP连接curl -v smtp://smtp.example.com:25
# 测试DNS连接curl -v telnet://8.8.8.8:53
# 测试连接速度curl -o /dev/null -s -w "%{time_total}" https://example.comwget 命令
wget命令用于从网络上下载文件。
# 测试HTTP连接wget --spider https://example.com
# 测试HTTPS连接wget --spider https://example.com
# 测试FTP连接wget --spider ftp://ftp.example.com
# 测试连接速度wget -O /dev/null https://example.comnetcat 命令
netcat命令用于读取和写入网络连接。
# 测试TCP端口nc -zv google.com 80
# 测试UDP端口nc -zvu google.com 53
# 扫描端口范围nc -zv google.com 80-90
# 测试连接延迟nc -vz google.com 80 | grep connected
# 创建简单的服务器nc -l 8080
# 连接到服务器nc localhost 8080网络服务管理
SSH服务
查看SSH服务状态
# 查看SSH服务状态systemctl status ssh # Debian/Ubuntusystemctl status sshd # RHEL/CentOS
# 查看SSH服务是否启动ps aux | grep sshd
# 查看SSH服务监听的端口netstat -tlnp | grep sshdss -tlnp | grep sshd启动和停止SSH服务
# 启动SSH服务systemctl start ssh # Debian/Ubuntusystemctl start sshd # RHEL/CentOS
# 停止SSH服务systemctl stop ssh # Debian/Ubuntusystemctl stop sshd # RHEL/CentOS
# 重启SSH服务systemctl restart ssh # Debian/Ubuntusystemctl restart sshd # RHEL/CentOS
# 重新加载SSH配置systemctl reload ssh # Debian/Ubuntusystemctl reload sshd # RHEL/CentOS启用和禁用SSH服务
# 启用SSH服务(开机自启)systemctl enable ssh # Debian/Ubuntusystemctl enable sshd # RHEL/CentOS
# 禁用SSH服务(禁止开机自启)systemctl disable ssh # Debian/Ubuntusystemctl disable sshd # RHEL/CentOS配置SSH服务
# 查看SSH配置文件cat /etc/ssh/sshd_config
# 编辑SSH配置文件sudo nano /etc/ssh/sshd_config
# 重启SSH服务使配置生效sudo systemctl restart ssh # Debian/Ubuntusudo systemctl restart sshd # RHEL/CentOSSSH安全配置建议:
- 禁用root登录:
PermitRootLogin no - 禁用密码登录,使用密钥登录:
PasswordAuthentication no - 更改默认端口:
Port 2222 - 限制允许登录的用户:
AllowUsers username - 限制允许登录的组:
AllowGroups sshusers - 启用公钥认证:
PubkeyAuthentication yes - 禁用X11转发:
X11Forwarding no - 设置登录超时:
LoginGraceTime 30
HTTP/HTTPS服务
Apache服务
# 查看Apache服务状态systemctl status apache2 # Debian/Ubuntusystemctl status httpd # RHEL/CentOS
# 启动Apache服务systemctl start apache2 # Debian/Ubuntusystemctl start httpd # RHEL/CentOS
# 停止Apache服务systemctl stop apache2 # Debian/Ubuntusystemctl stop httpd # RHEL/CentOS
# 重启Apache服务systemctl restart apache2 # Debian/Ubuntusystemctl restart httpd # RHEL/CentOS
# 重新加载Apache配置systemctl reload apache2 # Debian/Ubuntusystemctl reload httpd # RHEL/CentOS
# 启用Apache服务(开机自启)systemctl enable apache2 # Debian/Ubuntusystemctl enable httpd # RHEL/CentOS
# 禁用Apache服务(禁止开机自启)systemctl disable apache2 # Debian/Ubuntusystemctl disable httpd # RHEL/CentOSNginx服务
# 查看Nginx服务状态systemctl status nginx
# 启动Nginx服务systemctl start nginx
# 停止Nginx服务systemctl stop nginx
# 重启Nginx服务systemctl restart nginx
# 重新加载Nginx配置systemctl reload nginx
# 启用Nginx服务(开机自启)systemctl enable nginx
# 禁用Nginx服务(禁止开机自启)systemctl disable nginxFTP服务
vsftpd服务
# 查看vsftpd服务状态systemctl status vsftpd
# 启动vsftpd服务systemctl start vsftpd
# 停止vsftpd服务systemctl stop vsftpd
# 重启vsftpd服务systemctl restart vsftpd
# 重新加载vsftpd配置systemctl reload vsftpd
# 启用vsftpd服务(开机自启)systemctl enable vsftpd
# 禁用vsftpd服务(禁止开机自启)systemctl disable vsftpdDNS服务
BIND服务
# 查看BIND服务状态systemctl status named # RHEL/CentOSsystemctl status bind9 # Debian/Ubuntu
# 启动BIND服务systemctl start named # RHEL/CentOSsystemctl start bind9 # Debian/Ubuntu
# 停止BIND服务systemctl stop named # RHEL/CentOSsystemctl stop bind9 # Debian/Ubuntu
# 重启BIND服务systemctl restart named # RHEL/CentOSsystemctl restart bind9 # Debian/Ubuntu
# 重新加载BIND配置systemctl reload named # RHEL/CentOSsystemctl reload bind9 # Debian/Ubuntu
# 启用BIND服务(开机自启)systemctl enable named # RHEL/CentOSsystemctl enable bind9 # Debian/Ubuntu
# 禁用BIND服务(禁止开机自启)systemctl disable named # RHEL/CentOSsystemctl disable bind9 # Debian/Ubuntu防火墙管理
iptables 命令
iptables是Linux 2.4+内核的防火墙工具。
# 查看防火墙规则iptables -L
# 查看详细的防火墙规则iptables -L -v
# 查看防火墙规则(数字格式)iptables -L -n
# 查看防火墙规则(数字格式,详细信息)iptables -L -nv
# 查看特定链的防火墙规则iptables -L INPUT
# 清空所有防火墙规则iptables -F
# 保存防火墙规则iptables-save > /etc/iptables/rules.v4 # Debian/Ubuntuservice iptables save # RHEL/CentOS
# 恢复防火墙规则iptables-restore < /etc/iptables/rules.v4 # Debian/Ubuntu
# 添加防火墙规则(允许SSH连接)iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 添加防火墙规则(允许HTTP连接)iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 添加防火墙规则(允许HTTPS连接)iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 添加防火墙规则(允许本地回环)iptables -A INPUT -i lo -j ACCEPT
# 添加防火墙规则(允许已建立的连接)iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 添加防火墙规则(拒绝所有其他入站连接)iptables -A INPUT -j DROP
# 删除防火墙规则iptables -D INPUT 1 # 删除INPUT链的第1条规则
# 修改防火墙规则iptables -R INPUT 1 -p tcp --dport 22 -j ACCEPT
# 插入防火墙规则iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPTufw 命令(Debian/Ubuntu)
ufw是Ubuntu和Debian系统的防火墙管理工具,是iptables的前端。
# 查看UFW状态ufw status
# 查看详细的UFW状态ufw status verbose
# 启用UFWufw enable
# 禁用UFWufw disable
# 重置UFWufw reset
# 允许SSH连接ufw allow sshufw allow 22/tcp
# 允许HTTP连接ufw allow httpufw allow 80/tcp
# 允许HTTPS连接ufw allow httpsufw allow 443/tcp
# 允许特定端口ufw allow 8080/tcp
# 允许特定IP访问ufw allow from 192.168.1.100
# 允许特定IP访问特定端口ufw allow from 192.168.1.100 to any port 22
# 拒绝连接ufw deny 3306/tcp
# 删除规则ufw delete allow 80/tcp
# 查看UFW规则编号ufw status numbered
# 删除指定编号的规则ufw delete 1firewalld 命令(RHEL/CentOS 7+)
firewalld是RHEL/CentOS 7+系统的防火墙管理工具,是iptables的前端。
# 查看firewalld状态systemctl status firewalld
# 启动firewalldsystemctl start firewalld
# 停止firewalldsystemctl stop firewalld
# 启用firewalld(开机自启)systemctl enable firewalld
# 禁用firewalld(禁止开机自启)systemctl disable firewalld
# 查看防火墙规则firewall-cmd --list-all
# 查看所有开放的端口firewall-cmd --list-ports
# 查看所有开放的服务firewall-cmd --list-services
# 允许SSH连接firewall-cmd --permanent --add-service=ssh
# 允许HTTP连接firewall-cmd --permanent --add-service=http
# 允许HTTPS连接firewall-cmd --permanent --add-service=https
# 允许特定端口firewall-cmd --permanent --add-port=8080/tcp
# 允许特定IP访问firewall-cmd --permanent --add-source=192.168.1.100
# 允许特定IP访问特定端口firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept'
# 拒绝连接firewall-cmd --permanent --remove-service=http
# 重新加载防火墙规则firewall-cmd --reload
# 查看防火墙区域firewall-cmd --get-active-zones
# 将网络接口添加到区域firewall-cmd --permanent --zone=public --add-interface=eth0
# 重新加载防火墙规则firewall-cmd --reload网络监控
netstat 命令
# 显示所有网络连接netstat -a
# 显示TCP连接netstat -at
# 显示UDP连接netstat -au
# 显示监听状态的端口netstat -l
# 显示监听状态的TCP端口netstat -lt
# 显示监听状态的UDP端口netstat -lu
# 显示网络连接和进程netstat -tp
# 显示网络连接、进程和数字格式netstat -tplnss 命令
ss命令是netstat的替代品,更快速、更高效。
# 显示所有网络连接ss -a
# 显示TCP连接ss -t
# 显示UDP连接ss -u
# 显示监听状态的端口ss -l
# 显示监听状态的TCP端口ss -lt
# 显示监听状态的UDP端口ss -lu
# 显示网络连接和进程ss -tp
# 显示网络连接、进程和数字格式ss -tpln
# 显示网络连接的详细信息ss -slsof 命令
lsof命令用于列出系统中打开的文件,包括网络连接。
# 显示所有网络连接lsof -i
# 显示TCP连接lsof -i tcp
# 显示UDP连接lsof -i udp
# 显示特定端口的连接lsof -i :80
# 显示特定IP的连接lsof -i @192.168.1.100
# 显示特定进程的网络连接lsof -i -p 1234
# 显示特定用户的网络连接lsof -i -u usernameiftop 命令
iftop命令用于实时显示网络接口的带宽使用情况。
# 启动iftopiftop
# 显示指定网络接口的带宽使用情况iftop -i eth0
# 以字节为单位显示iftop -B
# 不显示主机名(加快速度)iftop -n
# 不显示端口号iftop -N
# 显示详细信息iftop -vnethogs 命令
nethogs命令用于显示每个进程的网络带宽使用情况。
# 启动nethogsnethogs
# 显示指定网络接口的进程带宽使用情况nethogs eth0
# 刷新间隔(秒)nethogs -d 2
# 以字节为单位显示nethogs -b网络故障排查
故障排查步骤
- 检查网络接口状态:确认网络接口是否启用,是否有IP地址
- 检查物理连接:确认网线是否插好,网卡是否正常
- 检查本地网络:ping本地回环地址、网关
- 检查DNS配置:测试DNS解析
- 检查防火墙规则:确认防火墙是否阻止了连接
- 检查网络服务:确认网络服务是否正常运行
- 检查路由配置:确认路由表是否正确
- 检查网络设备:确认路由器、交换机等网络设备是否正常
常见故障及解决方案
网络接口没有IP地址
症状:ifconfig或ip addr显示网络接口没有IP地址。
解决方案:
- 检查DHCP服务是否正常
- 手动配置IP地址
- 检查网络接口是否启用
无法ping通网关
症状:ping 192.168.1.1失败。
解决方案:
- 检查物理连接
- 检查网关是否在线
- 检查网络接口配置
- 检查防火墙规则
无法ping通外网
症状:ping 8.8.8.8失败。
解决方案:
- 检查默认路由配置
- 检查ISP连接
- 检查防火墙规则
DNS解析失败
症状:ping google.com失败,但ping 8.8.8.8成功。
解决方案:
- 检查DNS配置
- 检查DNS服务器是否在线
- 尝试使用其他DNS服务器
特定端口无法访问
症状:无法访问特定端口的服务。
解决方案:
- 检查服务是否正常运行
- 检查防火墙规则
- 检查端口是否被占用
- 检查服务配置
故障排查工具
# 检查网络接口状态ip addrifconfig
# 检查网络连接ping 127.0.0.1ping 192.168.1.1ping 8.8.8.8ping google.com
# 检查路由表ip routeroute -n
# 检查DNS配置cat /etc/resolv.confnslookup google.com
# 检查防火墙规则iptables -Lufw statusfirewall-cmd --list-all
# 检查网络服务状态systemctl status sshps aux | grep sshd
# 检查端口是否开放netstat -tlnpss -tlnplsof -i :22
# 检查网络连接traceroute google.commtr google.com
# 检查网络流量iftopnethogs
# 检查网络错误dmesg | grep -i errordmesg | grep -i network总结
本文介绍了Linux网络管理中常用的命令和技巧,包括网络接口管理、IP地址管理、路由管理、DNS配置、网络连接测试、网络服务管理、防火墙管理、网络监控和网络故障排查等方面的内容。
掌握这些命令和技巧是Linux系统管理员的必备技能,它们可以帮助你更高效地管理和维护Linux系统的网络,确保网络的稳定性和安全性。通过不断练习和使用,你会逐渐熟悉这些命令,并能够灵活运用它们来解决实际问题。
练习
- 使用
ifconfig和ip命令查看网络接口信息。 - 配置网络接口的IP地址和子网掩码。
- 添加默认路由和网络路由。
- 配置DNS服务器。
- 使用
ping、traceroute和mtr命令测试网络连接。 - 配置防火墙规则,允许SSH和HTTP连接。
- 查看网络服务的状态,如SSH、Apache等。
- 使用
netstat、ss和lsof命令查看网络连接。 - 使用
iftop和nethogs命令监控网络带宽使用情况。 - 排查网络故障,如无法ping通外网、DNS解析失败等。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!