如何在 Linux 系统中开启和配置网络

如何在 Linux 系统中开启和配置网络

# 最简单快捷的方式,输入nmtui进入网络管理器

持久化配置

  • 使用NetworkManager(CentOS/RHEL)的配置文件,确保配置在重启后仍然有效。
  • 检查NetworkManager状态
  • systemctl status NetworkManager

  • 如果显示inactive (dead),需要启动服务:

  • sudo systemctl start NetworkManager

  • sudo systemctl enable NetworkManager # 设置开机自启

1.完全使用nmcli重新配置

sudo nmcli connection delete "连接名"

注:(连接名可通过 nmcli connection show 查看,如:eth0ens33wlan0(无线)等。)

sudo nmcli connection add con-name "my-static-eth0" ifname eth0 type ethernet ip4 192.168.1.100/24 gw4 192.168.1.1

注:(ip地址前三位及gw地址根据自己虚拟机配置的子网ip设置,

/24表示子网掩码中连续的1的位数,即255.255.255.0根据虚拟机配置的子网掩码设置

(因为241对应11111111.11111111.11111111.00000000

/24255.255.255.0

/16255.255.0.0(适用于较大的网络,如192.168.0.0/16

/8255.0.0.0(适用于非常大的网络,如10.0.0.0/8

sudo nmcli connection modify "my-static-eth0" ipv4.dns "8.8.8.8"

sudo nmcli connection up "my-static-eth0"

2.禁用传统network服务(避免冲突):

sudo systemctl stop network

sudo systemctl disable network

3.查看所有连接配置

1.确保你的配置(如"my-static-eth0")存在,并且TYPEGenericEthernet

nmcli connection show

2.确认ipv4.method是否为manual(静态 IP)或auto(DHCP)。

3.确认ipv4.addressesipv4.gatewayipv4.dns是否正确。

nmcli connection show "my-static-eth0"

4.手动激活连接

sudo nmcli connection up "my-static-eth0"

5.测试连接

查看ip addr show

测试访问外网: ping 8.8.8.8

ping百度测试:ping www.baidu.com

重启服务器再次测试连接

2.扩展

使用ifconfigip命令(避免直接使用ifconfigip命令,因为它们是临时生效的)

1. 检查网络接口状态

在配置网络之前,首先需要确认系统中的网络接口是否存在以及当前状态。

查看网络接口

bash

ip link show
# 或
ls /sys/class/net
  • 常见的网络接口名称:eth0ens33wlan0(无线)等。
  • 如果接口显示为DOWN,需要手动启用。

2. 启用网络接口

使用ipifconfig(如果已安装net-tools)命令启用网络接口。

使用ip命令

bash

sudo ip link set <接口名> up
# 示例:
sudo ip link set eth0 up

使用ifconfig命令(需安装 net-tools)

bash

sudo ifconfig <接口名> up
  • 如果提示ifconfig: command not found,可以通过以下命令安装net-tools

    bash

    # Debian/Ubuntu
    sudo apt-get update
    sudo apt-get install net-tools
    # CentOS/RHEL
    sudo yum install net-tools

3. 配置网络(动态 IP 或静态 IP)

动态 IP(DHCP)

如果网络环境支持 DHCP,可以通过以下命令获取动态 IP:

bash

sudo dhclient <接口名>
# 示例:
sudo dhclient eth0

静态 IP

如果需要配置静态 IP,需根据不同的 Linux 发行版编辑对应的网络配置文件。

Debian/Ubuntu(使用 netplan)
  1. 编辑 netplan 配置文件:

    bash

    sudo nano /etc/netplan/*.yaml
  2. 示例配置(假设接口为eth0):

    yaml

    network:
    version: 2
    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]
  3. 应用配置:

    bash

    sudo netplan apply
CentOS/RHEL(使用 NetworkManager)
  1. 使用nmcli配置静态 IP:

    bash

    sudo nmcli connection modify <连接名> ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8" ipv4.method manual

    连接名可通过 nmcli connection show 查看,如:eth0ens33wlan0(无线)等。

    ipv4.addresses 192.168.1.100/24 \ipv4.gateway 192.168.1.1 \ 192.168.1

    地址前三位根据自己虚拟机的子网ip设置

    重启连接
    sudo nmcli connection down "<连接名>"
    sudo nmcli connection up "<连接名>"


4. 验证网络连接

检查接口状态和 IP 地址

bash

ip addr show

测试网络连通性

bash

ping 8.8.8.8 # 测试外网连通性
ping 192.168.1.1 # 测试网关连通性

5. 启用无线网络(可选)

扫描可用 Wi-Fi

bash

sudo iwlist <无线接口名> scan
# 示例:
sudo iwlist wlan0 scan

连接 Wi-Fi

bash

sudo nmcli device wifi connect <SSID> password <密码>

常见问题排查

接口未显示

  1. 检查网卡是否被识别:

    bash

    lspci | grep -i ethernet # 有线网卡
    lsusb # 无线网卡
  2. 确保内核加载了正确的驱动:

    bash

    lsmod | grep <驱动名>

无法获取 IP

  1. 检查 DHCP 服务是否运行:

    bash

    systemctl status dhcpd # 传统 DHCP 服务
    systemctl status NetworkManager # NetworkManager 管理的 DHCP
  2. 确认防火墙未阻止 DHCP 请求。

DNS 解析失败

  1. 检查/etc/resolv.conf是否包含有效的 DNS 服务器。
  2. 使用dignslookup测试 DNS 解析:

    bash

    dig example.com
    nslookup example.com

总结

通过以上步骤,你可以成功开启并配置 Linux 系统的网络。如果仍有问题,可以根据具体的错误信息进一步排查。希望本文对你有所帮助!