问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

双网卡主机无法访问互联网的排查与解决

创作时间:
作者:
@小白创作中心

双网卡主机无法访问互联网的排查与解决

引用
CSDN
1.
https://blog.csdn.net/fishfishfishman/article/details/140827512

双网卡主机在配置不当的情况下可能会出现无法访问互联网的问题。本文将详细介绍如何排查和解决这一问题,包括临时配置和永久生效的解决方案。

最近在使用双网卡主机时遇到了无法访问互联网的问题,主要是由于默认路由走的不是可以访问互联网的那张网卡所导致。下面是排查和解决过程:

环境说明

在Kali Linux系统中配置了两张网卡:

  • NET模式:网卡eth0,IP地址192.168.50.128,可访问互联网
  • 仅主机:网卡eth1,IP地址192.168.30.15,禁止访问互联网

排查问题

使用ping命令测试百度域名时提示“Destination Host Unreachable”。通过traceroute命令发现默认使用的是无法访问互联网的网卡192.168.30.15。

ping baidu.com
traceroute baidu.com

查看默认路由发现,系统自动选择了Metric值较小的路由,而这个网关(192.168.30.1)是不可以访问互联网的。

route -n

临时解决方案

需要调整路由优先级,让能访问互联网的路由优先级最高。由于无法直接修改Metric值,需要先删除原有路由再重新添加。

route del default gw [网关]

重新添加路由时指定Metric值:

route add default gw [网关] netmask [子网掩码] dev [网卡] metric 0
route add default gw [网关] netmask [子网掩码] dev [网卡] metric 100

永久解决方案

为了使路由配置在系统重启后仍然有效,需要通过NetworkManager服务实现开机自动配置。以下是具体步骤:

  1. /etc/NetworkManager/dispatcher.d/目录下创建一个脚本文件myroutes

    vim /etc/NetworkManager/dispatcher.d/myroutes
    
  2. 编写脚本内容,注意添加#!/bin/bash让系统识别为bash脚本,并使用sudo确保权限:

    #!/bin/bash
    sudo route del default gw 192.168.150.2
    sudo route del default gw 192.168.30.1
    sudo route add default gw 192.168.150.2 dev eth0 metric 0
    sudo route add default gw 192.168.30.1 dev eth1 metric 100
    
  3. 为脚本添加执行权限:

    chmod 755 /etc/NetworkManager/dispatcher.d/myroutes
    
  4. 设置NetworkManager-dispatcher服务开机自运行:

    systemctl restart NetworkManager-dispatcher
    systemctl enable NetworkManager-dispatcher
    

重启系统后,检查路由配置是否正确,确保可以正常访问互联网。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号