删除默认网关后无法上网怎么办

临时配置网关(重启失效)

适用于临时测试或紧急调整,使用ip route命令:

# 添加新网关(替换192.168.1.1为你的网关IP)
sudo ip route add default via 192.168.1.1 dev eth0
  • 验证ip route show 查看是否出现 default via 192.168.1.1 dev eth0
  • 测试ping 8.8.8.8 检查网络连通性。

永久配置网关(不同发行版方法)

Debian/Ubuntu 系统

方法1:修改 /etc/network/interfaces

sudo nano /etc/network/interfaces

在网卡配置块(如 eth0)中添加:

auto eth0
iface eth0 inet static
    address 192.168.1.100    # 本机IP
    netmask 255.255.255.0
    gateway 192.168.1.1      # 网关IP
    dns-nameservers 8.8.8.8  # DNS服务器

生效sudo systemctl restart networking

方法2:使用Netplan(Ubuntu 18.04+)
编辑YAML配置文件(如 /etc/netplan/01-netcfg.yaml):

network:
  version: 2
  ethernets:
    eth0:
      addresses: [192.168.1.100/24]
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8]

生效sudo netplan apply

CentOS/RHEL 系统

方法1:修改网卡配置文件
编辑 /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1       # 网关IP
DNS1=8.8.8.8

生效sudo systemctl restart network

方法2:修改全局网关文件
编辑 /etc/sysconfig/network

GATEWAY=192.168.1.1
NETWORKING=yes

生效:重启系统或重启网络服务。


通过NetworkManager配置(图形界面/命令行)

图形界面(适合桌面用户)

  1. 打开 Settings > Network
  2. 选择网卡 → 点击齿轮图标 → IPv4
  3. 填写 AddressesNetmask,在 Gateway 栏输入网关IP → 保存

命令行工具(nmcli)

sudo nmcli con mod eth0 ipv4.gateway "192.168.1.1"
sudo nmcli con up eth0

验证网关配置

  1. 查看网关路由
    ip route | grep default  # 输出示例: default via 192.168.1.1 dev eth0
  2. 测试外网连通性
    ping -c 4 google.com
  3. 检查DNS解析
    nslookup example.com

注意事项

  1. 权限要求:所有命令需 sudo 或 root 权限执行。
  2. 网卡名称差异:根据实际替换 eth0(现代系统可能为 enp0s3 等)。
  3. 防火墙干扰:若无法访问外网,检查防火墙规则:
    sudo iptables -L  # 查看规则
    sudo systemctl stop firewalld  # 临时关闭(测试用)
  4. 多网卡场景:确保网关仅配置在主网卡上,避免路由冲突。
  5. 备份配置文件:修改前备份,
    sudo cp /etc/network/interfaces /etc/network/interfaces.bak

故障排查

  • 网关不可达
    ping 192.168.1.1 检查网关IP是否响应。
  • 路由表异常
    使用 route -n 检查是否有冲突路由。
  • 服务未启动
    运行 sudo systemctl status networking(或 network)检查服务状态。

引用说明参考Linux官方文档(kernel.org)及主流发行版实践指南(Ubuntu、CentOS Wiki),确保方法经过生产环境验证,配置时请结合自身网络环境调整参数。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8324.html

(0)
酷番叔酷番叔
上一篇 2025年7月23日 14:27
下一篇 2025年7月23日 14:36

相关推荐

  • Linux如何创建编辑文本文件?

    命令行方法(高效快捷)touch 命令创建空文件 touch filename.txt # 创建空文件 ls -l filename.txt # 验证文件生成重定向符号 > 和 >>覆盖写入(文件不存在则新建):echo "Hello World" > file.tx……

    2025年8月8日
    16100
  • linux如何将nginx启动做成服务

    在Linux系统中,将Nginx配置为系统服务,可以通过systemd(现代Linux发行版主流)或init.d(传统方式)实现,这里以主流的systemd为例,详细说明操作步骤及注意事项,前提条件:确保Nginx已安装在配置服务前,需确认Nginx已正确安装,可通过以下命令检查:nginx -v # 查看Ng……

    2025年8月24日
    13600
  • Linux系统如何安装Windows系统?操作步骤是什么?

    在Linux系统下安装Windows双系统,需提前规划分区、准备安装介质,并注意引导配置,以下是详细步骤:安装前准备备份数据:双系统安装存在分区风险,务必备份Linux系统重要数据(如/home目录)至外置存储设备,确认系统类型:检查当前Linux是UEFI还是BIOS启动模式,可通过以下命令判断:UEFI系统……

    2025年8月27日
    14800
  • linux如何输出目录信息

    Linux中,可使用ls命令输出目录信息,如ls -l显示

    2025年8月16日
    17300
  • Ubuntu升级后卡顿?速解性能骤降难题

    在Linux系统中,telnet是一个经典的网络协议工具,用于通过TCP/IP网络连接远程主机,尽管现代场景中更推荐使用加密的SSH协议,但telnet在测试端口连通性、调试服务或访问旧设备时仍有实用价值,以下是详细操作指南:Telnet基础概念作用:建立远程终端连接(默认端口23),或测试任意TCP端口的开放……

    2025年7月19日
    15900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信