Ubuntu18.04下双网卡内外网设置

Ubuntu 专栏收录该内容
2 篇文章 0 订阅

在安装了18.04服务器版本后,要对网关进行配置,在之前默认都在/etc/network/interfaces配置文件上配置

然后习惯性的重启网络

systemctl restart network

提示无效

重启机器后,这个网卡也是没用生效,说明配置文件没有起作用。

在查询一番资料后,发现,之前那些操作是多年以来的做法。但是现在,在某些发行版上(例如 Ubuntu Linux 18.04),网络的配置与控制发生了很大的变化。不需要那个 interfaces 文件和 /etc/init.d/networking 脚本,我们现在转向使用 Netplan。Netplan 是一个在某些 Linux 发行版上配置网络连接的命令行工具。Netplan 使用 YAML 描述文件来配置网络接口,然后,通过这些描述为任何给定的呈现工具生成必要的配置选项。

cd /etc/netplan 进入文件夹

打开yaml文件

vim /etc/netplan/50-cloud-init.yaml

文件的布局看起来就像这样:

network:
    Version: 2
    Renderer: networkd
    ethernets:
       DEVICE_NAME:
          Dhcp4: yes/no
          Addresses: [IP/NETMASK]
          Gateway: GATEWAY
          Nameservers:
             Addresses: [NAMESERVER, NAMESERVER]

 

主要是配置ethernets里的参数:

  • DEVICE_NAME 是需要配置设备的实际名称。
  • Dhcp4: yes no 代表IPv4是否启用 dhcp 对应的IPv6 就是Dhcp6:yes no
  • Addresses 是设备的 IP 地址。
  • NETMASK 是 IP 地址的掩码。
  • GATEWAY 是网关的地址。
  • NAMESERVER 是由逗号分开的 DNS 服务器列表。

例如以下这样的配置

 

network:
    version: 2
    renderer: networkd
    ethernets:
       enp1s0:
       dhcp4: no
       addresses: [192.168.1.230/24]
       gateway: 192.168.1.254
       nameservers:
          addresses: [8.8.4.4,8.8.8.8]

配置完后,可以使用测试命令看配置是否成功

sudo netplan try 

上面的命令会在应用配置之前验证其是否有效。如果成功,你就会看到配置被接受。换句话说,Netplan 会尝试将新的配置应用到运行的系统上。如果新的配置失败了,Netplan 会自动地恢复到之前使用的配置。成功后,新的配置就会被使用。

如果对配置完全没问题了,可以直接使用 应用新配置的命令

sudo netplan apply

通过ifconfig命令可以查看网卡是否获取到IP

网卡1是我们设置的静态固定ip,连接30网段的内网,网卡2是我们设置的DHCP ,连接0网段的可通外网。

互相ping了30网段的机器和0网段的机器,都是显示通讯正常。

但是笔者的笔记本接入的是无线网的2网段,发现ping不通网卡2的192.168.0.70。但是笔记本能Ping通0网段的网关,网卡2也可以Ping通2网段的网关。于是就思考,是否是系统的路由转发有问题了

sudo route -n

 出现以下的信息 

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.169.30.254  0.0.0.0         UG    100    0        0 enp1s0
0.0.0.0         192.168.0.254   0.0.0.0         UG    100    0        0 enp2s0
10.64.64.64     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 enp2s0
192.168.0.254   0.0.0.0         255.255.255.255 UH    100    0        0 enp2s0
192.168.30.0    0.0.0.0         255.255.255.0   U     0      0        0 enp1s0

发现有两条默认路由,0.0.0.0 都指向了两个不同的网卡出口和默认网关。对于指向30.254的这条默认网关是没用的

执行

sudo route del default gw 192.168.30.254

现在从笔记本就可以远程连接0.70设备了。

本以为这样就解决问题了,连接完设备,把文件部署好后,重启下系统,发现又连接不上了

再次登陆设备检查,发现路由表中已删除的默认路由又出现了,也就是说route del只是临时删除,重启设备或者类似netplan apply 重启服务的操作都会让默认路由重新生成。在又一番查找资料后,发现,默认路由是根据你网关配置自动生成的,那我在网卡1中不设置网关,30网段的通信都是指向型的通信,都是内网固定IP这样,没有网关并不会影响通信。于是进配置文件修改

如下

 

删除了enp1s0的gateway.这里要删除整行,不能就删除网关ip,不然重启服务后,会提示你网关所在的行数里缺少参数,需要填入IP地址。

修改完配置文件后,重启网络

sudo netplan apply

查看路由表

sudo route -n

 

完美。各自Ping通了内外网。 

 

 

 

 

  • 7
    点赞
  • 0
    评论
  • 38
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏作者

大橘为重之大橘已定

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值