在Ubuntu中如何设置临时的和永久的默认路由?
声明:我的操作系统是Ubuntu 18.4,如下所示:
root@cnptucs1:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
所以设置静态IP地址和默认路由都是通过/etc/netplan/50-cloud-init.yaml文件来设置。我不确定我的设置方法是否适用于别的操作系统的情况。
首先,设置临时的默认路由可以使用route add命令,假如比如我原来的默认路由对应的网卡是eno1,对应的网关为192.168.1.1,现在我想删除这个默认路由,并重新添加一个默认路由,使得对应的网卡为eno6,其对应的网关为0.0.0.0,则可以采用命令route add -net 0.0.0.0 netmask 0.0.0.0 dev eno6,如下图所示:
root@cnptucs1:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eno1
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eno6
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
root@cnptucs1:~# route del -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1 dev eno1
root@cnptucs1:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eno6
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
root@cnptucs1:~# route add -net 0.0.0.0 netmask 0.0.0.0 dev eno6
root@cnptucs1:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 eno6
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eno6
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
如果我们要设置永久性的默认路由,则我们需要对/etc/netplan/50-cloud-init.yaml文件进行更改。在我的主机上,该文件内容如下:
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:ethernets:eno1:addresses: [192.168.1.113/24]dhcp4: falsedhcp6: falseoptional: truegateway4: 192.168.1.1nameservers:addresses: [8.8.8.8,8.8.4.4]eno2:addresses: [100.100.100.10/24]dhcp4: falseoptional: trueeno5:addresses: []dhcp4: trueoptional: trueeno6:addresses: [10.0.0.10/24]dhcp4: falseoptional: truenameservers:addresses: [8.8.8.8,8.8.4.4]version: 2
我们留意到在eno1条目下有一个以gateway4开头的项。该项在哪个网卡对应的条目下,哪个网卡就是默认路由对应的网卡,同时gateway4之后的IP地址指定了默认路由的网关地址,比如此时默认路由对应的网卡是eno1,对应的网关是192.168.1.1,如下图所示:
如果我们把gateway4的值改成0.0.0.0并使用netplan apply重新加载该文件,如下:
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:ethernets:eno1:addresses: [192.168.1.113/24]dhcp4: falsedhcp6: falseoptional: truegateway4: 0.0.0.0nameservers:addresses: [8.8.8.8,8.8.4.4]eno2:addresses: [100.100.100.10/24]dhcp4: falseoptional: trueeno5:addresses: []dhcp4: trueoptional: trueeno6:addresses: [10.0.0.10/24]dhcp4: falseoptional: truenameservers:addresses: [8.8.8.8,8.8.4.4]version: 2
则可以看到它增加了一个以0.0.0.0为默认网关的默认路由,如下图所示:
但是如果我们把机器重启,就可以看到默认路由的网关从192.168.1.1变成了0.0.0.0,如下图所示:
如果我们把gateway4这一项从eno1条目下移动到eno6条目下,如下所示:
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:ethernets:eno1:addresses: [192.168.1.113/24]dhcp4: falsedhcp6: falseoptional: truenameservers:addresses: [8.8.8.8,8.8.4.4]eno2:addresses: [100.100.100.10/24]dhcp4: falseoptional: trueeno5:addresses: []dhcp4: trueoptional: trueeno6:addresses: [10.0.0.10/24]dhcp4: falseoptional: truegateway4: 0.0.0.0nameservers:addresses: [8.8.8.8,8.8.4.4]version: 2
使用netplan apply之后就可以看到默认路由的网卡变成了eno6,如下图所示:
在Ubuntu中如何设置临时的和永久的默认路由?相关推荐
- sublime后缀_在sublime text中如何设置某种扩展名文件的默认语法
下面由sublime教程栏目给大家介绍在sublime text中设置某种扩展名文件的默认语法,希望对需要的朋友有所帮助! 对于正常扩展名(后缀)的文件,sublime text都能识别. 对于其他不 ...
- ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home
我有错误 Exception in thread"main" java.lang.NoClassDefFoundError: 当我尝试在Ubuntu上运行编译类时.我使用的是一个非 ...
- linux火狐中设置中文,Ubuntu中firefox设置成中文
收集的maven 仓库地址(maven repository) maven 仓库地址: 共有的仓库http://repo1.maven.org/maven2/http://repository.jbo ...
- Ubuntu中防火墙设置
1.安装防火墙 sudo apt install ufw 2.查看防火墙状态 sudo ufw status 3.开启防火墙 sudo ufw enable 4.关闭防火墙 sudo ufw disa ...
- 「Ubuntu」Ubuntu中的python终端配置(修改终端默认python配置,软连接,不同版本python环境配置)
前言 通过这篇博客(Ubuntu安装Python)安装完Python后,想要在终端直接启动想启动的python版本 此时直接在终端输入python2或者python3,发现系统已经配置好了python ...
- ubuntu中打开终端报错Failed to execute default Terminal Emulator
问题描述 在ubuntu中无法打开终端,提示未能执行默认终端,如下所示 可能原因 错误已经给出了提示,未能执行默认终端,更改默认项就可以了 问题解决 在settings中找到Preferred App ...
- samba服务器新建文件权限,Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析...
Ubuntu中安装samba服务器创建文件共享的方法及普通用户设置共享的问题解析 发布时间:2011-01-04 19:10:00 作者:佚名 我要评论 本文是基于ubuntu桌面版进行操作说 ...
- linux恢复设置文件夹,将.bashrc文件恢复到Ubuntu中的默认设置
以下介绍在Ubuntu系统中将.bashrc文件恢复默认设置的方法,如果你在Ubuntu系统中把.bashrc文件搞坏了就按下面的方法恢复bashrc文件. 背景 我有一个Ubuntu VM,我经常用 ...
- Linux指定网卡优先级,如何在Ubuntu中设置网络连接的优先级?
问题描述 如果将Ubuntu 11.04计算机同时连接到WiFi和3G,如何设置优先级以使应用程序(浏览器等)首先使用WiFi?如果不可用,则应使用3G. 基本上,我想设置网络连接的使用顺序. 编辑: ...
最新文章
- 惊呆了!Spring Boot 还能远程调试?
- 顽强的病毒,如何处理
- react key的作用
- 如何利用多核CPU来加速你的Linux命令
- python实现数据恢复软件_pyinstaller还原python代码过程图解
- 2015年《大数据》高被引论文Top10文章No.10——我国大数据交易的主要问题及建议...
- Springboot06配制拦截器
- Python机器学习:线型回归法008实现多元线性回归
- X64-CL iPro 采集卡OC-64EO-IPRO0简介
- 复合选择器-子选择器(HTML、CSS)
- android闪退报错,写了一个android小程序,测试的时候闪退,然鹅log并没有报错
- inDesign教程,如何创建风格化的书籍封面?
- 验证码这种反人类的存在,浪费全球人口15万小时,有办法取缔吗?
- 小技巧 - Chrome 浏览器绕过“请在微信客户端打开链接”
- python3用turtle模块画一棵随机樱花树
- numpy_10 思维导图
- 免费图床-树洞外链-阿离图床
- Java每日算法--罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
- 牛客网:两两配对值最小
- 【微信小程序】微信小程序--倒放音频的实现