You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server 16.04双网关配置求助:双网卡启用后VPN访问异常

解决Ubuntu Server 16.04双网卡同时启用后VPN无法访问副网卡的问题

我来帮你搞定这个双网卡配置的坑——这种情况几乎都是路由表冲突或者反向路由失效搞的鬼。简单说就是:当双网卡同时开着时,服务器收到VPN客户端发往ens192的请求后,返回的数据包可能选错了网卡走主网卡回去,导致客户端收不到响应。下面是一步步的实操方案:

第一步:先把两块网卡的静态IP配置好

编辑 /etc/network/interfaces 文件(Ubuntu 16.04默认用ifupdown管理网络),替换成以下配置:

# 主网卡 ens160(对应192.168.1.0/24网段)
auto ens160
iface ens160 inet static
    address 192.168.1.100  # 选一个该网段未占用的IP即可
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 192.168.1.1 8.8.8.8

# 副网卡 ens192(对应192.168.2.0/24网段)
auto ens192
iface ens192 inet static
    address 192.168.2.100  # 同样选该网段未占用的IP
    netmask 255.255.255.0
    # 划重点!这里绝对不能设置gateway!否则两个默认路由会打架
    dns-nameservers 192.168.2.1 8.8.8.8

第二步:配置策略路由,让流量“去回同路”

这是解决问题的核心——我们要给每个网卡单独配路由表,确保从ens192进来的流量,必须从ens192返回。

1. 添加自定义路由表

编辑 /etc/iproute2/rt_tables,在文件末尾加上两行:

100     rt1  # 对应ens160的专属路由表
200     rt2  # 对应ens192的专属路由表

2. 给网卡绑定路由规则

回到 /etc/network/interfaces,在刚才的网卡配置块后面分别添加路由规则:

在ens160的配置下面加:

post-up ip route add 192.168.1.0/24 dev ens160 table rt1
post-up ip route add default via 192.168.1.1 dev ens160 table rt1
post-up ip rule add from 192.168.1.100 table rt1

在ens192的配置下面加:

post-up ip route add 192.168.2.0/24 dev ens192 table rt2
post-up ip route add default via 192.168.2.1 dev ens192 table rt2
post-up ip rule add from 192.168.2.100 table rt2

这些命令的意思是:只要数据包是从ens160的IP(192.168.1.100)发出去的,就用rt1路由表;从ens192的IP发出去的,就用rt2路由表,彻底避免流量串路。

第三步:重启网络服务生效

执行命令重启网络:

sudo /etc/init.d/networking restart

第四步:验证配置是否正确

  • 查看两个自定义路由表:
    ip route show table rt1
    ip route show table rt2
    
    每个表都应该能看到对应网段的路由和默认网关。
  • 查看路由规则:
    ip rule list
    
    应该能看到两条from 192.168.x.100 table rtX的规则。
  • 实际测试:VPN客户端连接后,ping 192.168.2.100,同时在服务器上用tcpdump -i ens192 icmp抓包,能看到请求和响应包就说明没问题了。

额外检查:防火墙是否拦了流量

如果上面都配置好了还是不行,看看防火墙是不是把ens192的流量给挡了:

  • 用iptables的话:
    sudo iptables -A INPUT -i ens192 -j ACCEPT
    sudo iptables -A OUTPUT -o ens192 -j ACCEPT
    
  • 用ufw的话:
    sudo ufw allow in on ens192
    sudo ufw allow out on ens192
    

内容的提问来源于stack exchange,提问作者Oscar Soriano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:29:38