07_网络管理习题记录
网络管理课后习题详细解答
1. 如何查看系统中每个ip的连接数
使用命令:
netstat -ant | awk '{print $5}' | grep -v ' Proto' | awk -F: '{print $1}' | sort | uniq -c | sort -nr
或者使用更高效现代的 ss 命令:
ss -ant | awk '{print $5}' | grep -v ' State' | awk -F: '{print $1}' | sort | uniq -c | sort -nr
输出示例:
125 192.168.1.100
32 10.0.0.5
8 8.8.8.8
使用场景:
当需要分析服务器连接来源分布,排查某个IP是否发起过多连接攻击时使用。
2. 常见服务使用的端口
| 服务名称 | 默认端口号 | 传输协议 |
|---|---|---|
| HTTP | 80 | TCP |
| HTTPS | 443 | TCP |
| FTP | 21 | TCP |
| SSH | 22 | TCP |
| Telnet | 23 | TCP |
| MySQL | 3306 | TCP |
| DNS | 53 | TCP/UDP |
使用场景:
配置防火墙规则、服务器安全组时需要知道这些常用服务端口。
3. 在虚拟机上新增加一块网卡并配置IP
操作步骤(以VMware为例):
- 停止虚拟机
- 编辑虚拟机设置 → 添加网络适配器
- 启动虚拟机后登录系统
- 配置IP地址(以CentOS为例):
# 创建网卡配置文件
echo "
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.0.10
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
" > /etc/sysconfig/network-scripts/ifcfg-eth1
# 重启网络服务
systemctl restart network
验证配置:
ip addr show eth1
ping 172.16.0.1
4. DNS解析过程(以访问www.baidu.com为例)
- 本地DNS缓存查询:浏览器先在本地DNS缓存中查找www.baidu.com的IP地址
- 递归查询开始:
- 本地DNS服务器向根DNS服务器查询
- 根DNS服务器返回.com顶级域DNS服务器地址
- 本地DNS服务器向.com顶级域DNS服务器查询
- .com顶级域DNS服务器返回baidu.com权威DNS服务器地址
- 最终查询:
- 本地DNS服务器向baidu.com权威DNS服务器查询www.baidu.com的IP地址
- 缓存与返回:
- 本地DNS服务器缓存查询结果
- 将IP地址返回给用户
使用场景:
理解DNS解析过程有助于排查域名解析故障,优化DNS配置。
5. 查看系统中运行了多少个进程
命令:
ps aux | wc -l
或者查看用户级进程:
ps -ef | wc -l
使用场景:
系统性能监控时需要知道当前运行的进程总数,排查系统资源耗尽问题。
6. 查看系统中启动了哪些端口
命令:
netstat -lnutp
或者使用更现代的 ss 命令:
ss -lnutp
输出示例:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2345/smtpd
udp 0 0 0.0.0.0:53 0.0.0.0:* 3456/dnsmasq
使用场景:
查看服务器开放了哪些端口,进行安全检查或故障排查。
7. 查看是否开启80端口及sshd进程是否存在
检查80端口是否监听:
netstat -ant | grep LISTEN | grep :80
或者:
ss -antl | grep :80
检查sshd进程是否存在:
ps aux | grep sshd | grep -v grep
或者:
pgrep sshd
输出示例:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
1234 ? 00:00:00 sshd
使用场景:
检查Web服务是否正常运行,验证SSH服务状态。
8. 列出所有处于监听状态的TCP端口
命令:
netstat -ant | grep LISTEN
或者:
ss -antl
输出示例:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
使用场景:
查看服务器当前监听的所有端口,进行安全审计或服务配置检查。
9. 查看所有的端口信息, 包括 PID 和进程名称
命令:
netstat -lnutp
或者使用更现代的 ss 命令:
ss -lnutp
输出示例:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2345/smtpd
udp 0 0 0.0.0.0:53 0.0.0.0:* 3456/dnsmasq
使用场景:
排查端口被哪个进程占用,进行故障诊断。
10. 配置网络链路聚合操作步骤
操作步骤(以CentOS为例):
- 安装团队设备驱动:
yum install -y teamd
- 创建团队配置文件
/etc/sysconfig/network-scripts/ifcfg-team0:
echo "
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
TEAM_CONFIG='{
"runner": {
"name": "lacp",
"tx_hash": ["eth", "ipv4", "ipv6"]
},
"link_watch": {
"name": "ethtool"
}
}'
" > /etc/sysconfig/network-scripts/ifcfg-team0
- 配置团队成员接口
/etc/sysconfig/network-scripts/ifcfg-eth0和/etc/sysconfig/network-scripts/ifcfg-eth1:
echo "
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=team0
SLAVE=yes
TEAM_PORT_CONFIG='{"prio": 100}'
" > /etc/sysconfig/network-scripts/ifcfg-eth0
echo "
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=team0
SLAVE=yes
TEAM_PORT_CONFIG='{"prio": 200}'
" > /etc/sysconfig/network-scripts/ifcfg-eth1
- 重启网络服务:
systemctl restart network
- 验证团队状态:
teamdctl team0 state
使用场景:
提高网络带宽、实现链路冗余,适合服务器高可用网络配置。
11. 新增一块网卡并配置
操作步骤(以CentOS为例):
- 添加硬件网卡(在虚拟机设置中完成)
- 配置IP地址:
echo "
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.56.11
PREFIX=24
GATEWAY=192.168.56.2
DNS1=192.168.56.2
HOSTNAME=学员姓名拼音.rt.com
" > /etc/sysconfig/network-scripts/ifcfg-eth1
- 重启网络服务:
systemctl restart network
- 验证配置:
ip addr show eth1
ping 192.168.56.2
- 验证主机名:
hostnamectl
- 验证DNS:
nslookup www.baidu.com
使用场景:
服务器多网卡配置,实现不同网络段的通信或负载均衡。

浙公网安备 33010602011771号