Linux IPV4/IPV6配置终极指南
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 1、配置固定IPV4
- 1.1 使用nmcli
- 1.1.1 查看当前网络接口
- 1.1.2 删除现有连接(可选)
- 1.1.3 创建新的静态 IP 连接
- 1.1.4 启用连接
- 1.1.5 验证配置
- 1.2 手动编辑网卡配置文件
- 1.2.1 进入网络配置目录
- 1.2.2 编辑网卡配置文件
- 1.2.3 重启网络服务
- 1.2.4 验证配置
- 1.3 使用nmtui
- 1.4 使用命令临时添加
- 1.4.1 临时添加 IPv4 地址
- 1.4.2 临时添加默认网关
- 1.4.3 临时添加 DNS(可选)
- 1.4.4 测试网络连通性
- 1.5 验证网络配置
- 2、配置带vlan的固定IPV4
- 2.1 使用nmcli
- 2.1.1 加载 802.1q VLAN 模块
- 2.1.2 创建 VLAN 接口
- 2.1.3 启用 VLAN 接口
- 2.1.4 检查配置
- 2.2 手动修改网络配置文件
- 2.2.1 创建 VLAN 配置文件
- 2.2.2 重启网络服务
- 2.2.3 检查 VLAN 接口
- 2.3 验证 VLAN 配置
- 3、配置IPV6
- 3.1 使用nmcli配置静态 IPv6(推荐)
- 3.1.1 查看当前网络接口
- 3.1.2 删除现有连接(可选)
- 3.1.3 添加静态 IPv6 地址
- 3.1.4 启用连接
- 3.1.5 验证配置
- 3.2 手动编辑网卡配置文件
- 3.2.1 进入网络配置目录
- 3.2.2 编辑网卡配置文件
- 3.2.3 重启网络服务
- 3.2.4 验证
- 3.3 临时添加 IPv6 地址(重启失效)
- 1. 临时添加 IPv6 地址
- 2. 临时添加 IPv6 网关
- 3. 临时添加 DNSv6
- 4. 验证
- 3.4 启用 IPv6 自动配置
- 3.4.1 使用 nmcli启用自动配置
- 3.4.2 启用内核 IPv6 自动配置(SLAAC)
- 3.4.3 使用 DHCPv6 客户端
1、配置固定IPV4
1.1 使用nmcli
1.1.1 查看当前网络接口
nmcli device status
找到要配置的网卡名称(如 eth0
、ens33
)。
1.1.2 删除现有连接(可选)
如果网卡已有自动 DHCP 配置,可以先删除:
sudo nmcli connection delete "Wired connection 1" # 替换为你的连接名
1.1.3 创建新的静态 IP 连接
假设:
- 网卡:
eth0
- IP 地址:
192.168.1.100/24
- 网关:
192.168.1.1
- DNS:
8.8.8.8
和8.8.4.4
sudo nmcli connection add type ethernet con-name eth0-static ifname 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 \autoconnect yes
1.1.4 启用连接
sudo nmcli connection up eth0-static
1.1.5 验证配置
ip addr show eth0
ping 8.8.8.8
1.2 手动编辑网卡配置文件
1.2.1 进入网络配置目录
cd /etc/sysconfig/network-scripts/
1.2.2 编辑网卡配置文件
假设网卡是 eth0
:
sudo vi ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
1.2.3 重启网络服务
sudo systemctl restart network
1.2.4 验证配置
ip addr show eth0
cat /etc/resolv.conf # 检查DNS
1.3 使用nmtui
如果喜欢交互式配置,可以运行:
sudo nmtui
选择:
- Edit a connection → 选择网卡 → Edit
- 设置:
- IPv4 Configuration: Manual
- Addresses:
192.168.1.100/24
- Gateway:
192.168.1.1
- DNS:
8.8.8.8,8.8.4.4
- 保存并退出,然后激活连接。
1.4 使用命令临时添加
1.4.1 临时添加 IPv4 地址
语法
sudo ip addr add <IP地址>/<子网掩码位数> dev <网卡名称>
示例
假设:
- 网卡:
eth0
- IP:
192.168.1.100/24
(子网掩码255.255.255.0
)
运行:
sudo ip addr add 192.168.1.100/24 dev eth0
验证
ip addr show eth0
输出应包含:
inet 192.168.1.100/24 scope global secondary eth0
1.4.2 临时添加默认网关
如果还需要临时设置网关:
sudo ip route add default via <网关IP> dev <网卡名称>
示例
sudo ip route add default via 192.168.1.1 dev eth0
验证
ip route show
输出应包含:
default via 192.168.1.1 dev eth0
1.4.3 临时添加 DNS(可选)
修改 /etc/resolv.conf
(重启后可能被覆盖):
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf
验证
cat /etc/resolv.conf
1.4.4 测试网络连通性
ping 8.8.8.8 # 测试外网
ping 192.168.1.1 # 测试网关
1.5 验证网络配置
命令 | 作用 |
---|---|
ip addr show eth0 | 检查IP是否生效 |
ping 8.8.8.8 | 测试外网连通性 |
route -n | 查看网关路由 |
cat /etc/resolv.conf | 检查DNS配置 |
2、配置带vlan的固定IPV4
2.1 使用nmcli
2.1.1 加载 802.1q VLAN 模块
确保内核支持 VLAN:
sudo modprobe 8021q
永久生效(可选):
echo "8021q" | sudo tee -a /etc/modules-load.d/vlan.conf
2.1.2 创建 VLAN 接口
假设物理网卡是 eth0
,VLAN ID 是 10
,IP 是 192.168.10.100/24
,网关是 192.168.10.1
:
sudo nmcli connection add type vlan con-name eth0.10 dev eth0 id 10 ip4 192.168.10.100/24 gw4 192.168.10.1
2.1.3 启用 VLAN 接口
sudo nmcli connection up eth0.10
2.1.4 检查配置
ip addr show eth0.10
ping 192.168.10.1
2.2 手动修改网络配置文件
2.2.1 创建 VLAN 配置文件
假设物理网卡是 eth0
,VLAN ID 是 10
,IP 是 192.168.10.100/24
,网关是 192.168.10.1
:
进入 /etc/sysconfig/network-scripts/
:
cd /etc/sysconfig/network-scripts/
创建 VLAN 配置文件 ifcfg-eth0.10
:
sudo vi ifcfg-eth0.10
写入以下内容:
DEVICE=eth0.10
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.10.100
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
VLAN=yes
PHYSDEV=eth0 # 物理网卡
DEFROUTE=yes # 如果不存在默认路由, 加上
METRIC=101 # 如果存在默认路由, 加上
2.2.2 重启网络服务
sudo systemctl restart network
2.2.3 检查 VLAN 接口
ip addr show eth0.10
ping 192.168.10.1
2.3 验证 VLAN 配置
-
查看 VLAN 接口:
ip link show
-
检查路由:
ip route
-
测试连通性:
ping 192.168.10.1
3、配置IPV6
3.1 使用nmcli配置静态 IPv6(推荐)
3.1.1 查看当前网络接口
nmcli device status
找到要配置的网卡(如 eth0
、ens33
)。
3.1.2 删除现有连接(可选)
如果网卡已有自动配置(如 DHCPv6),可先删除:
sudo nmcli connection delete "Wired connection 1" # 替换为你的连接名
3.1.3 添加静态 IPv6 地址
假设:
- 网卡:
eth0
- IPv6 地址:
2001:db8::100/64
- IPv6 网关:
2001:db8::1
- DNSv6:
2001:4860:4860::8888
(Google DNS)
运行:
sudo nmcli connection add type ethernet con-name eth0-ipv6 ifname eth0 \ipv6.addresses 2001:db8::100/64 \ipv6.gateway 2001:db8::1 \ipv6.dns "2001:4860:4860::8888" \ipv6.method manual \autoconnect yes
3.1.4 启用连接
sudo nmcli connection up eth0-ipv6
3.1.5 验证配置
ip -6 addr show eth0
ping6 2001:4860:4860::8888
3.2 手动编辑网卡配置文件
3.2.1 进入网络配置目录
cd /etc/sysconfig/network-scripts/
3.2.2 编辑网卡配置文件
sudo vi ifcfg-eth0
添加或修改以下内容:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=yes
IPV6ADDR=2001:db8::100/64
IPV6_DEFAULTGW=2001:db8::1
DNS1=2001:4860:4860::8888
3.2.3 重启网络服务
sudo systemctl restart network
3.2.4 验证
ip -6 route
ping6 2001:4860:4860::8888
3.3 临时添加 IPv6 地址(重启失效)
1. 临时添加 IPv6 地址
sudo ip -6 addr add 2001:db8::100/64 dev eth0
2. 临时添加 IPv6 网关
sudo ip -6 route add default via 2001:db8::1 dev eth0
3. 临时添加 DNSv6
echo "nameserver 2001:4860:4860::8888" | sudo tee -a /etc/resolv.conf
4. 验证
ip -6 addr show eth0
ping6 2001:4860:4860::8888
3.4 启用 IPv6 自动配置
3.4.1 使用 nmcli启用自动配置
sudo nmcli connection modify eth0 ipv6.method auto
sudo nmcli connection up eth0
3.4.2 启用内核 IPv6 自动配置(SLAAC)
1. 确保 IPv6 功能已启用
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=0 # 替换为你的网卡名
2. 允许接收路由器通告(RA)
sudo sysctl -w net.ipv6.conf.eth0.accept_ra=2 # 2 表示接受 RA 并应用自动配置
3. 立即生效(无需重启)
sudo sysctl -p
4. 检查 IPv6 地址
ip -6 addr show eth0
3.4.3 使用 DHCPv6 客户端
如果网络支持 DHCPv6,可以手动运行 dhclient
:
sudo dhclient -6 eth0
检查获取的 IPv6 地址:
ip -6 addr show eth0