Linux 网络基础设置
查看网卡信息
bash
# 查看所有(dnf -y install net-tools)
ifconfig
# 查看指定网卡(不论该网络接口是否处于激活状态)
ifconfig 设备
# 查看网络接口的数据链路层信息
ip link
# 查看网络接口的网络层信息
ip a
# 查看指定网络接口速率、模式等信息
ethtool 网卡名输出信息
- MTU:最大传输单元
- inet:ipv4 地址
- netmask:子网掩码
- broadcast:广播地址
- inet6:ipv6 地址
- prefixlen:掩码长度
- scopeid:作用域(link 表示仅该接口有效)
- ether:该网卡接口的
- mac 地址
- txqueuelen:传输队列长度(接口类型为 ethernet)
- RX:接收的数据包个数及字节数
- TX:发送的数据包个数及字节数
- errors:错误数
- dropped:丢弃数
- overruns:溢出数
- carrier:载荷数
- frame:帧数
- collisions:冲突数
路由表
bash
# 查看路由表
netstat -r
route -n网络路由域名工具
bash
# 测试网络连接性
ping google.com
# 网络诊断工具(追踪到google.com的路由路径)
traceroute google.com
# 用于查询 DNS(域名系统)记录的命令行工具
nslookup example.com网卡配置
临时修改网络配置
bash
# 方法一:ifconfig 网络设备 IP地址/短格式子网掩码
ifconfig ens32 192.168.1.100 netmask /27
# 方法二:ifconfig 网络设备 IP地址 子网掩码
ifconfig ens32 192.168.1.100 netmask 255.255.255.224固定修改网络配置
网卡配置文件
ini
DEVICE=ens32 # 设备名
HWADDR=00:0C:29:8F:D8:E0 # 物理地址(MAC 地址)
TYPE=Ethernet # 类型(以太网)
PROXY_METHOD # 代理方式(默认关闭)
BROWSER_ONLY # 只是浏览器(默认否)
DEFROUTE # 默认路由
UUID=da840b8c-a2d8-4a09-83a8-50d5437c3ba3 # UUID 号
ONBOOT=yes # 是否开机自动启用
NM_CONTROLLED=no # 图形化管理控制,是 network manger 的参数
#BOOTPROTO=dhcp # 自动获取IP
BOOTPROTO=static # 引导协议(static/none:手动配置)
IPADDR=192.168.91.108 # IPv4 协议的 IP 地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.91.1 # 网关
#USERCTL=no # 是否允许非 root 用户控制该设备
#IPV6INIT=no # 是否启用 IPv6 协议
#DNS1=202.106.46.151 # DNS 域名解析服务
# 补充:
IPV4_FAILURE_FATAL=no # IPV4 致命错误检测
IPV6INIT=yes # IPV6 是否自动初始化
IPV6_AUTOCONF=yes # 是否自动配置
IPV6_DEFROUTE=yes # 是否可以为默认路由
IPV6_FAILURE_FATAL=no # 致命错误检测
IPV6_ADDR_GEN_MODE=stable-privacy # IPV6 地址生成模CentOS 7
网络服务
network
配置文件
/etc/sysconfig/network-scripts/目录下的 ifcfg-对应网络设备名称,默认 第一块网卡为 ens32
重启网络服务
systemctl restart network
openEuler
网络服务
NetworkManager
配置文件
/etc/sysconfig/network-scripts/目录下的 ifcfg-对应网络设备名称,默认 第一块网卡为 ens32
重启网络服务
bash
# 重启网络服务
systemctl restart NetworkManager
# 重启NetworkManager后会出现两个IP修改前和修改后的都存在,可以重启网卡重新连接
ifdown ens32;ifup ens32Kylin V10
网络服务
NetworkManager
配置文件
/etc/sysconfig/network-scripts/目录下的 ifcfg-对应网络设备名称,默认 第一块网卡为 ens32
重启网络服务
bash
# 重启网络服务
systemctl restart NetworkManager
# 重启NetworkManager后会出现两个IP修改前和修改后的都存在,可以重启网卡重新连接
ifdown ens32;ifup ens32Almalinux
网络服务
NetworkManager
配置文件
/etc/NetworkManager/system-connections/目录下的.nmconnection 后缀的网卡文件。默认第一块网卡为
重启网络服务
bash
# 重启网络服务
systemctl restart NetworkManager
# 重启NetworkManager后会出现两个IP修改前和修改后的都存在,可以重启网卡重新连接
# 修改连接配置后重新激活
nmcli connection reload ens160.nmconnection
# 断开网卡
nmcli connection down ens160
#重启网卡
nmcli connection up ens160网卡配置
ini
[connection]
id=ens160 # 连接显示名称
uuid=6a4c6b3e-1234-5678-90ab-cdef12345678 # 唯一标识符
type=ethernet # 连接类型
interface-name=ens160 # 绑定的物理接口
permissions= # 用户访问权限控制(留空表示无限制)
[ethernet]
mac-address=00:0C:29:XX:XX:XX # 绑定的MAC地址(可选)
mtu=1500 # 最大传输单元
[ipv4]
method=manual # IP分配方式(auto/dhcp/manual)
addresses=192.168.1.100/24 # 静态IP配置
gateway=192.168.1.1
dns=8.8.8.8;8.8.4.4; # DNS服务器(分号分隔)
dns-search=example.com # DNS搜索域
[ipv6]
method=disabled # IPv6配置策略
[proxy] # 代理配置(可选)Rocky Linux
网络服务
NetworkManager
配置文件
/etc/sysconfig/network-scripts目录下的 ifcfg-对应网络设备名称。默认第一块网卡为ens160
重启网络服务
bash
# 重启网络服务
systemctl restart NetworkManager
# 重启NetworkManager后会出现两个IP修改前和修改后的都存在,可以重启网卡重新连接
# 断开网卡
nmcli connection down ens160
#重启网卡
nmcli connection up ens160Ubuntu
网络服务
Ubuntu 17.10 中引入的一种新的命令行网络配置实用程序,用于在 Ubuntu 系统中轻松管理和配置网络设置。 它允许您使用 YAML 格式的描述文件来抽像化定义网络接口的相关信息。Netplan 可以使用NetworkManager 或 Systemd-networkd 的网络守护程序来做为内核的接口。
配置文件
Netplan 的默认描述文件在 /etc/netplan/*.yaml 里,Netplan 描述文件采用了 YAML 语法。
配置自动获取ip
yaml
network:
# yaml版本
version: 2
# 服务名
renderer: NetworkManager
# 网卡信息
ethernets:
# 网卡名
ens5:
# 开启dhcp(IPV4)
dhcp4: true
# 开启dhcp(IPV6)
dhcp6: true配置静态ip
yaml
network:
# yaml版本
version: 2
# 服务器版用 networkd,桌面版可用 NetworkManager
renderer: networkd
# 网卡信息
ethernets:
# 网卡名
ens32:
# 关闭dhcp(IPV4)
dhcp4: no
# IP地址
addresses:
- 192.168.148.5/24
# 网关地址
gateway4: 192.168.148.2
# DNS地址
nameservers:
addresses: [8.8.8.8, 114.114.114.114]可以用一下方法检测使用的服务
bash
if dpkg -l ubuntu-desktop &> /dev/null; then
echo "Ubuntu Desktop 版,使用 NetworkManager"
NETWORK_SERVER="NetworkManager"
else
echo "Ubuntu Server 版,使用 systemd-networkd"
NETWORK_SERVER="networkd"
fi重启网络服务
bash
netplan apply