Ubuntu添加路由规则

本文对Ubuntu 18或者Ubuntu 19这样较新的版本,网络配置按照Ubuntu默认的情况有效。因为Ubuntu默认使用NetworkManager进行网络管理,所以修改interfaces配置文件是与NetworkManager相悖的,所以使用nmcli这个NetworkManager命令行工具,或者图形界面添加路由规则是比较优雅的。

route 命令

sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eno1

以这条命令为例子

  • -net 这是说明其后跟的ip是一个网段还是主机,如果是主机那么填-host,是网段则填-net
  • 网段或者主机的ip地址
  • netmask后跟子网掩码
  • gw后跟想要传送给的网关
  • dev后跟网卡名,如果不清楚,那么输入nmcli conn可以看到已启用的网卡

nmcli命令

nmcli conn modify eth0 +ipv4.routes "192.168.8.0/24 192.168.1.9"
  • modify后跟的可以是网卡名,也可以是连接名。需要注意的是连接名可能有空格,所以要用双引号包裹。它们可以在nmcli conn中查看。在windows中,常见就网卡名是Realtek PCIe GbE Family Controller,如果你是瑞昱网卡的话,常见的连接名是本地连接1 这样的。
  • +ipv4.routes,新增ipv4路由规则
  • 网络IP/子网掩码长度 网关IP,子网掩码长度很好理解,255.255.255.0转换成十六进制就是FF.FF.FF.0,一共6个F,一个F是4个1,所以二进制形式是1111 1111.1111 1111.1111 1111.0000 0000,一共24个1,所以长度是24。网关就是你与这个目标网络通信,想要途径的IP

图形界面

Ubuntu添加路由规则_第1张图片Ubuntu添加路由规则_第2张图片
Ubuntu添加路由规则_第3张图片
metrics是你到目标网络间的距离,机器会根据这个值选择最优的路由。

你可能感兴趣的:(Linux/Unix,网络)