欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu18.04 永久配置网卡路由

程序员文章站 2022-06-03 21:21:39
...

一:简介

系统中有多个网卡时,通过配置每个网卡的路由方式,可以更加清晰的控制电脑和外界进行的网络交互。

临时配置网卡路由可以参考 man ip route,通过命令行来配置网卡路由。

二:参考做法

下面以笔者配置 enx000ec6c1bcee 网卡为仅作为局域网使用为例。

1. 查看默认路由表

未配置前 route -n 结果 (一共三个网卡):

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.168.30.1    0.0.0.0         UG    102    0        0 enx000ec6dd4f4a
0.0.0.0         192.168.200.1   0.0.0.0         UG    20101  0        0 enx000ec6c1bcee
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp2s0
172.168.30.0    0.0.0.0         255.255.255.0   U     102    0        0 enx000ec6dd4f4a
192.168.8.0     0.0.0.0         255.255.255.0   U     100    0        0 enp2s0
192.168.200.0   0.0.0.0         255.255.255.0   U     101    0        0 enx000ec6c1bcee
192.168.200.0   192.168.200.2   255.255.255.0   UG    101    0        0 enx000ec6c1bcee

即:默认插入 enx000ec6c1bcee 网卡后,路由表上出现三条相关路由项:

0.0.0.0         192.168.200.1   0.0.0.0         UG    20101  0        0 enx000ec6c1bcee
192.168.200.0   0.0.0.0         255.255.255.0   U     101    0        0 enx000ec6c1bcee
192.168.200.0   192.168.200.2   255.255.255.0   UG    101    0        0 enx000ec6c1bcee

2. 永久配置网络和路由信息

通过修改 /etc/netplan/*.yaml 文件:

语法和介绍请参考官方文档:Ubuntu Bionic: Netplan

参考配置:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  # added by cw
  # Aim: Configure static network and routing information to prevent the interface from being used for the Internet.
  # That is to say, this network interface only works in local area network
  ethernets:
      enx000ec6c1bcee:
          addresses:
              - 192.168.200.2/24
          gateway4: 192.168.200.1
          routes:
          - to: 192.168.200.1/24
            via: 192.168.200.2

配置保存后,通过下面命令生效:

sudo netplan apply

3. 禁用其用于因特网的路由项

通过修改 /etc/network/if-up.d/000resolvconf 文件:

该文件作用于插入网卡后的初始化工作,也可以修改类似的文件。

文件结尾追加配置,参考如下:

# added by cw
# Disable the local network interface to access the Internet
# That is, the network interface is only used to access the local LAN
sudo ip route del 0.0.0.0/0 via 192.168.200.1 dev enx000ec6c1bcee

4. 查看确保修改生效

插拔配置的网卡后,通过 route -n 查看路由表:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.168.30.1    0.0.0.0         UG    20102  0        0 enx000ec6dd4f4a
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp2s0
172.168.30.0    0.0.0.0         255.255.255.0   U     102    0        0 enx000ec6dd4f4a
192.168.8.0     0.0.0.0         255.255.255.0   U     100    0        0 enp2s0
192.168.200.0   0.0.0.0         255.255.255.0   U     103    0        0 enx000ec6c1bcee
192.168.200.0   192.168.200.2   255.255.255.0   UG    103    0        0 enx000ec6c1bcee

可以看到路由项如下路由项已被禁用:

0.0.0.0         192.168.200.1   0.0.0.0         UG    20101  0        0 enx000ec6c1bcee

Good luck, bro.