根据你提供的信息,内网网关是 `192.168.184.254`,内网 IP 是 `192.168.184.155`;外网网关是 `192.168.1.1`,外网 IP 是 `192.168.1.115`。以下是详细的配置步骤,确保内网和外网流量能够正确分离。
—
### 1. 确认网卡和 IP 配置
– **内网网卡 (em1)**:
– IP 地址:`192.168.184.155`
– 网关:`192.168.184.254`
– **外网网卡 (em2)**:
– IP 地址:`192.168.1.115`
– 网关:`192.168.1.1`
—
### 2. 配置策略路由
使用 `ip route` 和 `ip rule` 命令设置策略路由,确保内网流量走内网网关,外网流量走外网网关。
#### 2.1 添加自定义路由表
编辑 `/etc/iproute2/rt_tables`,添加两个自定义路由表:
“`bash
echo “100 internal” >> /etc/iproute2/rt_tables
echo “200 external” >> /etc/iproute2/rt_tables
“`
#### 2.2 配置内网路由
为内网网卡 `em1` 添加路由:
“`bash
ip route add 192.168.184.0/24 dev em1 src 192.168.184.155 table internal
ip route add default via 192.168.184.254 dev em1 table internal
“`
#### 2.3 配置外网路由
为外网网卡 `em2` 添加路由:
“`bash
ip route add 192.168.1.0/24 dev em2 src 192.168.1.115 table external
ip route add default via 192.168.1.1 dev em2 table external
“`
#### 2.4 添加路由规则
根据源地址设置路由规则:
“`bash
ip rule add from 192.168.184.155 lookup internal
ip rule add from 192.168.1.115 lookup external
“`
—
### 3. 设置默认路由
将外网网卡 `em2` 设为默认路由,确保外网流量优先通过外网网关:
“`bash
ip route add default via 192.168.1.1 dev em2
“`
—
### 4. 持久化配置
将配置写入 `/etc/rc.local` 或创建 systemd 服务,确保重启后生效。
#### 4.1 使用 `/etc/rc.local`
编辑 `/etc/rc.local`,添加以下内容:
“`bash
#!/bin/bash
# 内网路由
ip route add 192.168.184.0/24 dev em1 src 192.168.184.155 table internal
ip route add default via 192.168.184.254 dev em1 table internal
# 外网路由
ip route add 192.168.1.0/24 dev em2 src 192.168.1.115 table external
ip route add default via 192.168.1.1 dev em2 table external
# 路由规则
ip rule add from 192.168.184.155 lookup internal
ip rule add from 192.168.1.115 lookup external
# 默认路由
ip route add default via 192.168.1.1 dev em2
exit 0
“`
确保 `/etc/rc.local` 有执行权限:
“`bash
chmod +x /etc/rc.local
“`
#### 4.2 使用 systemd 服务(推荐)
创建一个 systemd 服务文件,例如 `/etc/systemd/system/custom-routes.service`:
“`bash
[Unit]
Description=Custom Routing Setup
After=network.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c “ip route add 192.168.184.0/24 dev em1 src 192.168.184.155 table internal; ip route add default via 192.168.184.254 dev em1 table internal; ip route add 192.168.1.0/24 dev em2 src 192.168.1.115 table external; ip route add default via 192.168.1.1 dev em2 table external; ip rule add from 192.168.184.155 lookup internal; ip rule add from 192.168.1.115 lookup external; ip route add default via 192.168.1.1 dev em2”
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
“`
启用并启动服务:
“`bash
systemctl enable custom-routes.service
systemctl start custom-routes.service
“`
—
### 5. 验证配置
使用以下命令检查路由和规则:
“`bash
# 查看路由表
ip route show
# 查看策略路由规则
ip rule show
# 测试内网连通性
ping -I em1 192.168.184.254
# 测试外网连通性
ping -I em2 8.8.8.8
“`
—
### 6. 总结
通过以上配置:
– 内网流量(`192.168.184.0/24`)会通过 `em1` 和网关 `192.168.184.254` 传输。
– 外网流量会通过 `em2` 和网关 `192.168.1.1` 传输。
– 默认路由设置为外网网关,确保外网访问优先。
如果有其他需求(如 NAT 或防火墙规则),请根据实际情况调整。
评论前必须登录!
注册