深入理解linux操作系统---第9讲 网络配置、管理与基本应用

9.1 TCP/IP 基础知识

9.1.1 IP 地址

IP地址是网络中设备的唯一逻辑标识符,IPv4地址由32位二进制组成,采用点分十进制表示(如192.168.1.1)。其结构分为两部分:

  • 网络地址:标识设备所属的物理网络,需全球统一分配。
  • 主机地址:区分同一网络内的不同设备,可由本地分配。

IPv4地址分为五类:

  • A类(1.0.0.0~126.255.255.255):网络占8位,适用于大型网络。
  • B类(128.0.0.0~191.255.255.255):网络占16位,适合中等规模网络。
  • C类(192.0.0.0~223.255.255.255):网络占24位,用于小型网络。

子网掩码用于区分网络与主机部分,如255.255.255.0表示前24位为网络地址。


9.1.2 物理地址与逻辑地址

  • 物理地址(MAC地址) :固化在网卡硬件中的48位唯一标识符,用于局域网内设备通信。
  • 逻辑地址(IP地址) :由网络管理员或DHCP分配的32位地址,用于跨网络通信。

关键区别:

特性物理地址逻辑地址
生成方式硬件固化动态或静态分配
作用范围局域网内有效全局有效
寻址方式数据链路层(二层)网络层(三层)

9.1.3 端口及服务

端口是16位数字(0~65535),用于标识应用程序的通信端点。常见端口映射:

  • 80/TCP:HTTP服务
  • 22/TCP:SSH服务
  • 3389/TCP:远程桌面服务

端口映射示例:将内网192.168.1.100的80端口映射到公网IP的8080端口,外部用户通过公网IP:8080访问内网网站。


9.1.4 网卡命名方案

Linux网卡命名规则演变:

  1. 传统命名eth0eth1(易因插拔顺序变化导致混乱)。
  2. 可预测命名
    • ensX:基于PCI-E插槽索引(如ens33)。
    • enpXsY:基于物理位置(如enp2s0)。
    • enxMAC:基于MAC地址(如enx001122334455)。

恢复传统命名:修改/etc/default/grub,添加net.ifnames=0 biosdevname=0后更新GRUB配置。


9.2 网络配置

9.2.1 与网络有关的配置文件

文件路径作用
/etc/network/interfaces静态IP、子网掩码、网关配置
/etc/sysconfig/network-scripts/ifcfg-eth0动态IP(DHCP)和DNS配置
/etc/resolv.conf指定DNS服务器地址
/etc/hosts本地主机名与IP映射

9.2.2 网络服务及管理

常用服务管理命令(systemctl):

# 启动SSH服务
sudo systemctl start sshd
# 设置Apache开机自启
sudo systemctl enable httpd
# 查看服务状态
sudo systemctl status vsftpd

9.2.3 IP 地址配置

静态IP配置(以Ubuntu为例):

  1. 编辑/etc/network/interfaces

    auto eth0
    iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    
  2. 重启网络服务:sudo systemctl restart networking

动态IP配置(DHCP):

iface eth0 inet dhcp
特性静态IP动态IP
稳定性低(可能变化)
适用场景服务器、数据库客户端设备
配置复杂度手动配置复杂自动分配简单

9.3 网络管理命令

9.3.1 检查网络状态 (netstat)

常用参数组合:

  • 查看所有TCP连接netstat -at
  • 显示进程PIDnetstat -ap | grep ssh
  • 统计各协议数据包netstat -s

示例输出解析:

Proto Recv-Q Send-Q Local Address    Foreign Address    State       PID/Program
tcp   0      0      192.168.1.2:22   10.0.0.5:54321     ESTABLISHED 1234/sshd

9.3.2 地址解析协议缓存管理 (arp)

  • 查看ARP表arp -n
  • 删除条目arp -d 192.168.1.5
  • 手动添加arp -s 192.168.1.10 00:11:22:33:44:55

9.3.3 IP 网络综合管理 (ip)

iproute2工具链命令:

  • 查看IP地址ip addr show
  • 添加路由ip route add 10.0.0.0/24 via 192.168.1.1
  • 监控链路状态ip -s link

9.3.4 网络接口的启用与停用 (ifup/ifdown)

  • 启用eth0sudo ifup eth0
  • 禁用eth1sudo ifdown eth1

ifconfig的区别:

  • ifup/ifdown依赖配置文件,适合持久化配置。
  • ifconfig eth0 up直接操作接口,临时生效。

9.3.5 路由表维护 (route)

  • 添加默认网关route add default gw 192.168.1.1
  • 删除特定路由route del -net 10.0.0.0/24
  • 查看路由表route -n 或 ip route show

9.3.6 主机及 IP 地址查询

工具特点示例
nslookup交互式查询,支持多记录类型nslookup example.com
dig详细输出,支持DNS跟踪dig +trace example.com
host简洁输出,适合脚本调用host 192.168.1.1

9.4 网络应用常用命令

9.4.1 远程登录 (telnet 与 ssh)

特性TelnetSSH
加密明文传输AES/RSA加密
端口2322
适用场景内网调试(已淘汰)生产环境远程管理

SSH密钥登录配置:

ssh-keygen -t rsa
ssh-copy-id user@remote_host

9.4.2 文件传输 (ftp 与 tftp)

协议传输层特性
FTPTCP支持大文件,需控制连接
TFTPUDP无认证,适合固件传输

FTP被动模式配置:

pasv_enable=YES
pasv_min_port=50000
pasv_max_port=51000

9.4.3 邮件收发 (mailx/mail)

配置/etc/mail.rc

set from="user@example.com"
set smtp="smtp.example.com"
set smtp-auth-user="user"
set smtp-auth-password="password"

发送邮件示例:

echo "邮件内容" | mailx -s "主题" recipient@example.com

9.4.4 文件下载 (wget)

多线程下载工具mwget

mwget -n 10 http://example.com/largefile.iso

参数说明:

  • -n:线程数
  • -c:断点续传
  • -d:指定下载目录

9.5 练习题

9.5.1 思考题

(1)什么是子网掩码?其作用是什么?

(2)何为IP地址?如何查询本机的IP地址?如何查询一个互联网上主机的IP地址?

(3)何为网络服务?举例说明你所知道的Linux系统下的网络服务。

(4)在一个小的网络内,如何实现主机名到IP地址的转换?

9.5.2 选择题

(1)202.196.100.1是何类地址(    )?

A.A类     B.B类     C.C类     D.D类

(2)当IP地址的主机地址全为1时,表示(    )。

A.专用IP地址     B.对于该网络的广播地址 C.本网络地址     D.回送地址

(3)telnet和ssh使用的端口分别是(    )和(    )。

A.20      B.21     C.22     D.23

(4)FTP工作中所使用的两个端口是(    )和(    )。

A.20     B.21     C.22     D.23

(5)查询本机IP地址的命令是(    )和(    )。

A.hostname -I     B.ifconfig     C. ip link     D.localhost

(6)可用于查询网络主机IP地址的命令是(    )和(    )。

A.nslookup      B.ifconfig     C. dig     D.netstat

9.5.3 综合题

(1)与TCP/IP相关的文件有哪些?各自的用途是什么?

(2)试述如何进行TCP/IP网络配置。

9.5.4 答案

1.思考题

(1)什么是子网掩码?其作用是什么?

解:

子网掩码可以用来区分一个IP地址的网络号和主机号各占多少位。

通过用IP地址与相应的子网掩码进行“与”运算,可以区分出网络号和主机号包含的位数。

(2)何为IP地址?如何查询本机的IP地址?如何查询一个因特网上主机的IP地址?

解:

为了使众多连入Internet的主机在通信时能够相互识别,Internet给每一台主机都分配了一个唯一的地址,称为IP地址。IP地址有IPv4和IPv6之分。

查询本机的IP地址可以使用命令hostname -I、ifconfig、ip addr、nmcli d show等。

查询一个因特网上主机的IP地址可以使用nslookup HOST或host HOST或dig HOST.

(3)何为网络服务?举例说明你知道的Linux系统下的网络服务。

解:

网络服务是指运行在计算机系统中、通过网络提供特定功能的后台程序。在Linux系统中常见的网络服务包括:

  1. SSH(安全远程登录)
  2. Apache/Nginx(Web服务器)
  3. vsftpd(FTP文件传输)
  4. DHCPd(动态IP分配)
  5. Samba(跨平台文件共享)
  6. Postfix(邮件传输代理)
  7. Bind(DNS域名解析)
  8. MySQL/MariaDB(数据库服务)
  9. NTPd(网络时间同步)

(4)在一个小的网络内,如何实现主机名到IP地址的转换?

解:

从主机名到IP地址的转换一般是由DNS服务器实现的,但小型网络可使用hosts表,也就是/etc/hosts。

设网内有Windows7、centos8、rhel8、fedora30、fedora31、ubuntu18和ubuntu19,所对应的静态IP地址分别为192.168.137.1、192.168.137.8、192.168.137.88、192.168.137.30、192.168.137.31、192.168.137.18和192.168.137.19。再给它们每个取些别名,形成一个文本文件如下:

192.168.137.1  win7.windows.gjshao  win7  w7

192.168.137.2  gw.windows.gjshao  gw

192.168.137.30  fedora30.gjshao www.fedora30.gjshao php.fedora30.gjshao  fedora30  f30

192.168.137.31  fedora31.gjshao www.fedora31.gjshao php.fedora31.gjshao  fedora31  f31

192.168.137.8  centos8.gjshao www.centos8.gjshao  php.centos8.gjshao  centos8  c8 c08

192.168.137.88  rhel8.gjshao www.rhel8.gjshao  php.rhel8.gjshao  rhel8  r8 r08

192.168.137.18  ubuntu18.gjshao www.ubuntu18.gjshao  php.ubuntu18.gjshao  ubuntu18  u18

192.168.137.19  ubuntu19.gjshao www.ubuntu19.gjshao  php.ubuntu19.gjshao  ubuntu19  u19

可将此文件所示信息追加到各系统的/etc/hosts中,用于地址解析。

说明:/etc/hosts包含的应该可直通的主机。

2.选择题

(1)C;(2)B;(3)D、C;(4)A、B,(5)A、B;(6)A、C

3.综合题

(1)与TCP/IP相关的文件有哪些?各自的用途是什么?

解:

通用的TCP/IP文件有:

/etc/hosts、/etc/services、/etc/resolv.conf、/etc/host.conf、/etc/networks和/etc/hostname等。

(2)试述如何进行TCP/IP网络配置。

解:

配置TCP/IP网络信息,有很多方法,可以使用图形界面,也可使用字符界面,早期还可直接修改配置文件。

图形界面主要是,从“设置中心”选择“Netwok”,或在CLI下执行nm-connection-editor进入设置界面。通过图形界面设置信息是永久的,且立即生效;早期直接修改配置文件的办法设置的信息也是永久的,但需要重启网络或系统才能生效。

字符界面下设置网络的命令有nmtui、nmcli、ifconfig和ip等。

为了方便起见,建议使用设置中心中的网络设置界面设置网络。当在脚本中设置网络时需要使用命令界面。


总结  

通过掌握上述内容,读者可全面理解Linux网络配置与管理,并熟练运用常见命令解决实际问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李独爱秋

你的鼓励将是我加更的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值