目录
一、网络配置
方法一、使用nmcli命令
NetworkManager 是 openEuler 默认的网络管理工具,使用 nmcli
命令可以方便地配置静态 IP。
步骤1:查看当前网络连接
nmcli connection show
输出示例:
NAME UUID TYPE DEVICE eth0 5e0d1a4c-3a8c-4b6c-8e3d-8e7e8e8e8e8e ethernet eth0
步骤2:修改连接配置为静态IP
# 将 eth0 连接设置为静态 IP
sudo nmcli connection modify eth0 \
ipv4.addresses "192.168.1.100/24" \
ipv4.gateway "192.168.1.1" \
ipv4.dns "8.8.8.8 8.8.4.4" \
ipv4.method manual \
connection.autoconnect yes
步骤3:重启网络连接
sudo nmcli connection down eth0 && sudo nmcli connection up eth0
步骤4:验证配置
ip addr show eth0
ping -c 3 8.8.8.8 # 测试网络连通性
方法二:编辑配置文件
配置文件位于
/etc/sysconfig/network-scripts/
目录下,以ifcfg-
开头。
步骤1:备份原配置文件
sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
步骤2:编辑配置文件
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改为以下内容(示例):
TYPE=Ethernet
BOOTPROTO=static # 使用静态 IP
NAME=eth0
DEVICE=eth0
ONBOOT=yes # 开机自动激活
IPADDR=192.168.1.100 # IP 地址
PREFIX=24 # 子网掩码
GATEWAY=192.168.1.1 # 网关
DNS1=8.8.8.8 # DNS 服务器
DNS2=8.8.4.4
步骤3:重启NetworkManager服务
sudo systemctl restart NetworkManager
步骤4:验证配置
ip addr show eth0
ping -c 3 8.8.8.8
方法三:使用nmtui图形界面(适合新手)
nmtui提供了简单的文本界面来配置网络
步骤1:启动nmtui
sudo nmtui
步骤2:选择配置项
选择Edit a connection —>选择网络接口(如eth0)—>按Edit
在 IPv4 CONFIGURATION 中选择 Manual
点击 Show,添加 IP 地址、子网掩码、网关和 DNS
按OK—>Quit
步骤3:重启网络连接
sudo nmcli connection down eth0 && sudo nmcli connection up eth0
注意事项
-
权限要求:所有修改命令都需要
sudo
权限。 -
DNS 配置:如果 DNS 未正确设置,可能无法通过域名访问网络。
-
静态 vs DHCP:若要恢复 DHCP,将BOOTPROTO改为dhcp或执行:
sudo nmcli connection modify eth0 ipv4.method auto
-
防火墙:修改后若无法访问网络,检查防火墙是否放行:
sudo systemctl status firewalld # 检查防火墙状态 sudo firewall-cmd --permanent --add-service=http # 放行 HTTP 服务 sudo firewall-cmd --reload # 重新加载配置
验证配置是否生效
# 查看 IP 地址
ip addr show eth0
# 查看路由表
ip route
# 测试网络连通性
ping -c 3 8.8.8.8 # 测试外网
ping -c 3 192.168.1.1 # 测试网关
二、路由配置
1、查看路由表
(1)查看当前活跃路由表
ip route show
# 或简写
ip r
输出示例:
default via 192.168.1.1 dev eth0 proto static metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
(2)查看IPv6路由表
ip -6 route show
2、临时添加路由
(1)添加默认网关
sudo ip route add default via 192.168.1.1 dev eth0
(2)添加特定网段路由
# 语法:ip route add [目标网络/掩码] via [下一跳地址] dev [接口名]
sudo ip route add 10.0.0.0/8 via 192.168.1.200 dev eth0
(3)添加主机路由
sudo ip route add 10.1.1.1 via 192.168.1.200 dev eth0
3、删除路由
(1)删除默认网关
sudo ip route delete default via 192.168.1.1 dev eth0
(2)删除特定网段路由
sudo ip route delete 10.0.0.0/8 via 192.168.1.200 dev eth0
4、永久配置路由
方法一:通过NetworkManager
1、编辑网络连接配置
sudo nmcli connection modify eth0 \
+ipv4.routes "10.0.0.0/8 192.168.1.200" \
+ipv4.routes "192.168.2.0/24 192.168.1.201"
2、应用配置
sudo nmcli connection down eth0 && sudo nmcli connection up eth0
方法二:编辑路由配置文件
1、创建路由配置文件
sudo vi /etc/sysconfig/network-scripts/route-eth0
2、添加路由规则
10.0.0.0/8 via 192.168.1.200 dev eth0
192.168.2.0/24 via 192.168.1.201 dev eth0
default via 192.168.1.1 dev eth0
2.1 示例解析:
-
10.0.0.0/8 via 192.168.1.200 dev eth0
-
目标网络:
10.0.0.0/8
(即 IP 地址范围从10.0.0.0
到10.255.255.255
,共 16777216 个地址)
-
下一跳网关:
192.168.1.200
(数据包将被转发到这个地址) -
出口接口:
eth0
(数据包通过该网卡发送出去)
作用:当系统需要访问10.0.0.0/8
网段的 IP 时,会将数据包发送给192.168.1.200
这个网关,由它继续转发。
2、192.168.2.0/24 via 192.168.1.201 dev eth0
-
目标网络:
192.168.2.0/24
(即192.168.2.0
到192.168.2.255
,共 256 个地址) -
下一跳网关:
192.168.1.201
-
出口接口:
eth0
作用:访问192.168.2.0/24
网段的数据包,将通过eth0
发送给192.168.1.201
网关处理。
3、default via 192.168.1.1 dev eth0
-
目标网络:
default
(即默认路由,所有未在路由表中明确指定的目标 IP) -
下一跳网关:
192.168.1.1
(通常是局域网的默认网关,如路由器) -
出口接口:
eth0
作用:当系统需要访问其他网段(如互联网)时,会将数据包发送给192.168.1.1
网关,由它进行转发。
3、重启NetworkManager服务
sudo systemctl restart NetworkManager
5、修改默认路由优先级
(1)临时修改(添加路由时指定metric)
sudo ip route add default via 192.168.1.1 dev eth0 metric 100
(2) 永久修改(通过NetworkManager)
sudo nmcli connection modify eth0 \
ipv4.route-metric 100
6、策略路由(基于条件的路由)
(1)添加路由表
sudo vi /etc/iproute2/rt_tables
# 添加一行(格式:ID 表名)
100 custom
(2)配置路由规则
# 添加路由到自定义表
sudo ip route add 10.0.0.0/8 via 192.168.1.200 dev eth0 table custom
# 添加规则:匹配特定源 IP 使用自定义表
sudo ip rule add from 192.168.1.150 table custom
(3)持久化策略路由(通过脚本)
创建启动脚本:/etc/rc.d/rc.local
#!/bin/bash
ip route add 10.0.0.0/8 via 192.168.1.200 dev eth0 table custom
ip rule add from 192.168.1.150 table custom
添加执行权限:
sudo chmod +x /etc/rc.d/rc.local
7、常用路由命令参数
命令 | 描述 |
---|---|
ip route show | 显示路由表 |
ip route add | 添加路由 |
ip route delete | 删除路由 |
ip route replace | 替换现有路由 |
-6 | 操作IPv6路由 |
ip rule | 管理策略路由 |
8、验证配置
# 查看路由表
ip route show
# 跟踪路由
traceroute 10.1.1.1
# 检查数据包匹配的路由规则
ip route get 10.1.1.1
9、注意事项
-
权限要求:修改路由表需要 root 权限。
-
持久化:直接使用
ip route
命令添加的路由是临时的,重启后失效。 -
网关冲突:避免配置多个默认网关,否则可能导致网络异常。
-
调试工具:使用
ip route get
诊断路由匹配问题,使用tcpdump
抓包分析。
通过以上方法,你可以灵活配置 OpenEuler 系统的路由表,实现复杂的网络拓扑和流量控制。