【Linux】网络详解

部署运行你感兴趣的模型镜像

一、Linux 网络基础概念

1. 网络接口
  • 物理接口:如以太网网卡(eth0enp0s3 等,命名规则可能因系统版本不同而变化)、无线网卡(wlan0)。
  • 虚拟接口
    • 回环接口(lo):IP 地址 127.0.0.1,用于本地进程通信。
    • 虚拟网卡(如 docker0veth 设备):常用于容器、虚拟化场景。
    • 隧道接口(如 tuntap):用于 VPN 等网络隧道技术。
2. 网络配置核心参数
  • IP 地址:标识网络中的设备(如 192.168.1.100)。
  • 子网掩码:划分网络位和主机位(如 255.255.255.0)。
  • 网关(Gateway):本地网络与其他网络通信的出口(如 192.168.1.1)。
  • DNS 服务器:解析域名为 IP 地址(如 8.8.8.8114.114.114.114)。

二、网络配置工具

1. 临时配置工具(重启失效)
  • ifconfig

    • 查看接口信息:ifconfig 或 ifconfig eth0
    • 配置 IP 和子网掩码:ifconfig eth0 192.168.1.100 netmask 255.255.255.0
    • 启用 / 禁用接口:ifconfig eth0 up / ifconfig eth0 down
  • ip 命令

    • 查看接口信息:ip addr show 或 ip a
    • 配置 IP 和子网掩码:ip addr add 192.168.1.100/24 dev eth0
    • 删除 IP:ip addr del 192.168.1.100/24 dev eth0
    • 启用 / 禁用接口:ip link set eth0 up / ip link set eth0 down
  • 路由配置

    • 查看路由表:ip route show 或 ip r
    • 添加默认网关:ip route add default via 192.168.1.1 dev eth0
    • 添加静态路由:ip route add 10.0.0.0/24 via 192.168.1.2 dev eth0(访问 10.0.0.0 网段走 192.168.1.2 网关)。
  • DNS 临时配置:修改 /etc/resolv.conf(部分系统由服务管理,重启后可能被覆盖):

    nameserver 8.8.8.8
    nameserver 114.114.114.114
    
2. 永久配置(按系统发行版分类)
  • Debian/Ubuntu 系统(使用 netplan,配置文件在 /etc/netplan/):
    示例配置(/etc/netplan/01-netcfg.yaml):

    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 114.114.114.114]
    
     

    生效配置:sudo netplan apply

  • CentOS/RHEL 系统(使用 nmcli 或修改 /etc/sysconfig/network-scripts/):

    • 方法 1:nmcli(NetworkManager 命令行工具):
      nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24
      nmcli connection modify eth0 ipv4.gateway 192.168.1.1
      nmcli connection modify eth0 ipv4.dns "8.8.8.8 114.114.114.114"
      nmcli connection modify eth0 ipv4.method manual  # 手动配置(默认自动 dhcp)
      nmcli connection up eth0  # 生效配置
      
    • 方法 2:修改配置文件(/etc/sysconfig/network-scripts/ifcfg-eth0):
      TYPE=Ethernet
      BOOTPROTO=static  # 静态配置(dhcp 为自动获取)
      NAME=eth0
      DEVICE=eth0
      ONBOOT=yes  # 开机启动
      IPADDR=192.168.1.100
      NETMASK=255.255.255.0
      GATEWAY=192.168.1.1
      DNS1=8.8.8.8
      DNS2=114.114.114.114
      

      生效配置:sudo systemctl restart network(CentOS 7)或 sudo nmcli connection reload(CentOS 8+)。

三、网络服务管理

1. 网络服务守护进程
  • NetworkManager:主流发行版默认网络管理服务,支持动态配置、WiFi 管理等,命令行工具为 nmcli,图形工具为 nmtui(文本界面)。

    • 启动 / 停止服务:sudo systemctl start/stop NetworkManager
    • 开机自启:sudo systemctl enable NetworkManager
  • dhclient:动态获取 IP 地址的客户端工具,如 dhclient eth0 为 eth0 接口获取 DHCP 配置。

2. 常用网络服务
  • SSH:远程登录服务,默认端口 22,配置文件 /etc/ssh/sshd_config,服务名 sshd
  • Nginx/Apache:Web 服务,默认端口 80(HTTP)、443(HTTPS)。
  • DNS:如 bind 服务,负责域名解析,配置文件 /etc/named.conf
  • 防火墙
    • firewalld(CentOS 7+):sudo firewall-cmd --zone=public --add-port=80/tcp --permanent(开放 80 端口,永久生效),sudo firewall-cmd --reload(重载配置)。
    • ufw(Ubuntu 默认):sudo ufw allow 22/tcp(允许 SSH 端口),sudo ufw enable(启用防火墙)。

四、网络测试与故障排查工具

1. 连通性测试
  • ping:测试与目标主机的连通性(ICMP 协议),如 ping 8.8.8.8-c 4 限制发送 4 个包。
  • traceroute(或 tracepath):追踪数据包到达目标的路径,如 traceroute www.baidu.com,查看是否有路由阻塞。
2. 端口与服务测试
  • telnet:测试目标端口是否开放,如 telnet 192.168.1.100 80(测试 80 端口)。
  • nc(netcat):多功能网络工具,测试端口:nc -zv 192.168.1.100 80,传输文件:nc 192.168.1.200 1234 < file.txt(发送)与 nc -l 1234 > file.txt(接收)。
  • ss:查看端口监听状态(替代 netstat),如 ss -tulnt:TCP,u:UDP,l:监听,n:数字显示),ss -tuln | grep 80 查看 80 端口是否被监听。
3. DNS 测试
  • nslookup:查询域名解析,如 nslookup www.baidu.com,查看解析的 IP 地址。
  • dig:更详细的 DNS 查询工具,如 dig www.baidu.com,可查看 DNS 服务器、TTL 等信息。
4. 抓包分析
  • tcpdump:命令行抓包工具,如 tcpdump -i eth0 port 80(抓取 eth0 接口 80 端口的数据包),-w capture.pcap 保存到文件(可用 Wireshark 打开分析)。
  • wireshark:图形化抓包工具,需安装,适合复杂网络分析。

五、高级网络配置

1. 网络桥接(Bridge)
  • 将多个网络接口合并为一个逻辑接口,常用于虚拟机通信,如 KVM 虚拟机桥接物理网卡。
  • 示例(ip 命令临时配置):
    ip link add name br0 type bridge  # 创建桥接接口 br0
    ip link set eth0 master br0  # 将 eth0 加入桥接
    ip link set br0 up  # 启用桥接接口
    
2. VLAN 配置
  • 划分虚拟局域网,隔离不同网络流量,如 eth0.10 表示 eth0 接口上的 VLAN 10。
  • 示例:
    ip link add link eth0 name eth0.10 type vlan id 10  # 创建 VLAN 10
    ip addr add 192.168.10.100/24 dev eth0.10  # 配置 IP
    ip link set eth0.10 up  # 启用接口
    
3. 网络地址转换(NAT)
  • 通过 iptables 实现,如将内网 IP 转换为公网 IP 访问互联网:
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  # eth0 为外网接口
    

六、实战故障排查示例

  1. 无法上网

    • 检查接口状态:ip a 确认是否有 IP 地址。
    • 检查网关:ip r 确认默认网关是否正确。
    • 测试 DNS:ping 8.8.8.8 通但 ping www.baidu.com 不通,可能 DNS 配置错误。
  2. 端口无法访问

    • 检查服务是否启动:ps aux | grep 服务名
    • 检查端口监听:ss -tuln | grep 端口号
    • 检查防火墙:firewall-cmd --list-ports(CentOS)或 ufw status(Ubuntu)。

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小王不想wan

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值