富贵长生天做主由不得我
钢骨正气我做主由不得天

双网卡路由配置问题解决方案

根据你提供的信息,内网网关是 `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 或防火墙规则),请根据实际情况调整。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《双网卡路由配置问题解决方案》
文章链接:https://www.lolmm.cn/stwd/1335.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!