核心原理
- 默认网关:只能有一个(通常是外网网卡),处理所有非本地网络的流量。
- 静态路由:指定特定网段的流量通过内网网卡转发。
配置步骤(以Linux为例)
确认网卡信息
ip addr # 查看网卡名称及IP(如 eth0、eth1)
假设:

- eth0:外网网卡,IP
168.1.100,网关168.1.1 - eth1:内网网卡,IP
0.0.100,无网关
配置默认网关(外网)
# 删除原有默认路由(谨慎操作) sudo ip route del default # 添加外网网关 sudo ip route add default via 192.168.1.1 dev eth0
添加静态路由(内网)
假设内网网段为 168.100.0/24,流量需通过 eth1:
sudo ip route add 192.168.100.0/24 dev eth1
- 若内网需经网关(如
0.0.1):sudo ip route add 192.168.100.0/24 via 10.0.0.1 dev eth1
验证路由表
ip route show
输出应包含:

default via 192.168.1.1 dev eth0
192.168.100.0/24 dev eth1 # 或 via 10.0.0.1
测试连通性
ping 8.8.8.8 # 测试外网(通过eth0) ping 192.168.100.50 # 测试内网(通过eth1)
永久生效配置
Ubuntu/Debian (Netplan)
- 编辑配置文件
/etc/netplan/01-netcfg.yaml:network: version: 2 renderer: networkd ethernets: eth0: addresses: [192.168.1.100/24] routes: - to: 0.0.0.0/0 via: 192.168.1.1 nameservers: addresses: [8.8.8.8] eth1: addresses: [10.0.0.100/24] routes: - to: 192.168.100.0/24 via: 10.0.0.1 # 或省略此行(直连网段无需网关) - 应用配置:
sudo netplan apply
CentOS/RHEL
- 编辑网卡配置文件:
- 外网卡
/etc/sysconfig/network-scripts/ifcfg-eth0:BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 # 默认网关在此设置 DNS1=8.8.8.8 - 内网卡
/etc/sysconfig/network-scripts/ifcfg-eth1:BOOTPROTO=static IPADDR=10.0.0.100 NETMASK=255.255.255.0 # 不设置 GATEWAY
- 外网卡
- 添加静态路由:
- 创建文件
/etc/sysconfig/network-scripts/route-eth1:168.100.0/24 via 10.0.0.1 dev eth1
- 创建文件
- 重启网络服务:
sudo systemctl restart network
防火墙与内核参数
-
开启IP转发:
# 临时生效 sudo sysctl -w net.ipv4.ip_forward=1 # 永久生效(/etc/sysctl.conf) echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p
-
防火墙规则(若需NAT):

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables-save > /etc/iptables/rules.v4 # 保存规则(Ubuntu)
故障排查
- 检查网关连通性:
ping 192.168.1.1 # 外网网关 ping 10.0.0.1 # 内网网关
- 跟踪路由路径:
traceroute 8.8.8.8 traceroute 192.168.100.50
- 验证策略路由:
ip route get 8.8.8.8 # 应走 eth0 ip route get 192.168.100.50 # 应走 eth1
通过以上步骤,服务器可同时访问内外网,并根据目标IP自动选择路由路径,关键点在于只设置一个默认网关,并通过静态路由指定内网流量路径。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/289451.html

