ubuntu18 网络问题

这篇具有很好参考价值的文章主要介绍了ubuntu18 网络问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

/etc/netplan/*.yaml配置文件中:

renderer的值可以是networkd,或者是NetworkManager

它俩的其中一个区别为:

networkd在图像界面,networking setting中不显示网卡配置。

版权简介: 从Ubuntu 18.04.2版本开始,系统的网络配置改成了新的 netplan.io 方式,弃用了之前使用的 ifupdown 方式。所以网络配置文件和配置方式和之前不同,本文主要介绍新的配置方式如何使用及与之前的区别。
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

从Ubuntu 18.04.2版本开始,系统的网络配置改成了新的 netplan.io 方式,弃用了之前使用的 ifupdown 方式。所以网络配置文件和配置方式和之前不同,本文介绍新的配置方式如何使用及与之前的区别。

注:ifupdown 就是用这个脚本 /etc/init.d/networking、systemctl start networking.service 启动网络服务的方式。

一、新旧版本对比

  • Ubuntu 18.04的DNS解析设置改成了 systemd-resolved,不是在原先的配置文件 /etc/resolv.conf 设置了。
  • Ubuntu 18.04默认情况下不再安装ifupdown,因此命令ifup和ifdown也不可用。可以使用ip命令来实现类似的功能,ip link set device up 和 ip link set device down。
  • 之前Ubuntu16.04版本里的网卡配置文件 /etc/network/interfaces  不起作用了,改成了netplan方式。
  • 如果新的 netplan 目前不能满足用户的网络使用需求,ifupdown 软件包仍然可以在Ubuntu 中使用和支持。
  • ifupdown安装命令:apt install ifupdown 
     

二、netplan 是什么?

netplan官网说它是一个在Linux系统中简单方便配置网络的程序,使用YAML格式的文件进行配置。
YAML是什么?传送门 YAML 入门教程 | 菜鸟教程

三、netplan 的工作方式


netplan 从配置文件 /etc/netplan/*.yaml 读取网络配置,启动后 netplan 在 /run 目录中生成特定网卡名称后缀的配置文件,然后将网卡设备的控制权移交给特定的网络守护程序。
netplan 目前支持以下两种服务:
NetworkManager
Systemd-networkd

多配置引擎

Netplan可以使用不同的配置引擎来管理网络配置,例如NetworkManager、systemd-networkd和DHCP客户端等。

  1. NetworkManager:这是一个广泛使用的网络配置工具,可以管理Wi-Fi、蓝牙和有线网络接口,并支持动态IP地址分配和VPN连接等功能。

  2. systemd-networkd:这是一个系统守护进程,负责管理网络配置。它提供了基本的网络接口配置和DNS解析功能,并支持IPv6和网络桥接等高级功能。

  3. DHCP客户端:这是一个动态主机配置协议(DHCP)客户端,可以自动分配IP地址和其他网络参数。它通常与DHCP服务器一起使用,以管理局域网上的客户机IP地址分配。

通过使用这些不同的配置引擎,Netplan可以适应不同的网络配置需求,并提供更多的配置灵活性和可扩展性。例如,在使用服务器时,可以使用systemd-networkd来提高性能和可靠性,而在桌面环境中,可以使用NetworkManager来管理各种网络接口,以方便用户使用。

为什么不直接使用NetworkManager或systemd-networkd

虽然NetworkManager和systemd-networkd都是强大的网络配置工具,但Ubuntu开发人员决定引入Netplan的主要原因是为了提高Ubuntu系统的网络配置体验和一致性。

在过去,Ubuntu使用ifupdown作为默认的网络配置工具。但是,ifupdown的配置文件使用传统的基于文本的格式,并且缺乏灵活性和可扩展性。此外,Ubuntu系统还经常遇到一些网络配置问题,例如接口命名不一致、硬件变化等等,导致网络配置需要手动更改。

Netplan的引入解决了这些问题。它提供了一个现代化的、易于阅读和编辑的YAML格式的配置文件,可以轻松地管理多个网络接口和配置参数。此外,Netplan还支持多种配置引擎,使得Ubuntu用户可以根据自己的需求选择适当的网络配置方案。

最重要的是,Netplan可以提高网络配置的一致性和稳定性。通过使用Netplan,Ubuntu系统可以自动检测网络接口和硬件变化,并自动更新配置文件。这样,Ubuntu用户可以避免手动修改网络配置文件所带来的错误和不便。

用法

要使用Netplan,可以按照以下步骤进行操作:

1.打开终端窗口。在Gnume中可以使用Ctrl+Alt+T键快捷键来打开终端。

2.使用编辑器打开Netplan配置文件。默认的配置文件位于“/etc/netplan/”目录下,命名为“01-netcfg.yaml”。可以使用命令“sudo nano /etc/netplan/01-netcfg.yaml”来打开此文件,并编辑配置。

3.在Netplan配置文件中,可以定义一个或多个网络接口和相关参数,例如IP地址、网关、DNS等等。以下是一个简单的Netplan配置文件示例:

01-network-manager-all.yaml,linux,服务器,ubuntu

上面的示例中,我们定义了一个名为“enp0s3”的以太网接口,禁用了DHCP客户端,并手动指定了IP地址、子网掩码、网关和DNS服务器。

  • 保存Netplan配置文件并应用更改。可以使用Ctrl+X键快捷键退出编辑器,并选择“Y”保存更改。然后,可以使用命令“sudo netplan apply”来应用新的网络配置。

  • 验证网络配置。可以使用命令“ip addr”和“ip route”来检查新的网络配置是否已成功应用。如果一切正常,应该可以看到新的网络接口和相关参数。

配置文件的命名

Netplan 是一个用于配置 Linux 系统网络接口的命令行工具,其配置文件的命名通常遵循以下规则:

  1. 文件名必须以 .yaml 为后缀。

  2. 文件名应该是以网络接口的名称为基础,例如 eth0.yaml,其中 eth0 是网络接口的名称。

  3. 如果需要配置多个网络接口,可以使用 config.yaml 或者类似的通用名称,然后在文件中分别定义每个网络接口的配置。

  4. 文件名前面的数字标识表示配置文件的优先级。具体来说,Netplan 会按照配置文件名中的数字顺序对配置进行合并,数字越小的配置文件优先级越高,数字相同的配置文件按照字母顺序进行合并。

例如,如果有两个配置文件 01-netcfg.yaml 和 02-netplan.yaml,则 Netplan 会先应用 01-netcfg.yaml 中的配置,然后再应用 02-netplan.yaml 中的配置。如果两个配置文件中都有相同的接口配置,那么在合并时会以 02-netplan.yaml 中的配置为准。

因此,如果要修改网络接口的配置,可以创建一个新的配置文件,并确保文件名前面的数字比现有的配置文件优先级更高

配置项

在 Netplan 的配置文件中,可以使用以下标签来配置网络接口和相关设置:

  • network: 该标签是配置文件的根标签,表示整个网络的配置。可以在该标签下定义多个网络接口的配置,以及一些全局设置。

  • version: 该标签用于指定 Netplan 的版本号。目前版本为 2。

  • renderer: 该标签用于指定网络接口的配置方式,支持 networkd 和 NetworkManager 两种渲染器。

  • ethernets: 该标签用于定义以太网接口的配置。

  • bridges: 该标签用于定义桥接接口的配置。

  • vlans: 该标签用于定义 VLAN 接口的配置。

  • bonds: 该标签用于定义网卡绑定接口的配置。

  • wifis: 该标签用于定义 Wi-Fi 接口的配置。

  • access-points: 该标签用于定义 Wi-Fi 接口的可访问点配置。

  • nameservers: 该标签用于定义 DNS 解析器的配置。

  • routes: 该标签用于定义路由表的配置。

  • dhcp4 和 dhcp6: 该标签用于定义 DHCP 的配置,包括是否使用 DHCP 和 DHCP 的选项。

这些标签可以组合使用,以实现不同网络场景下的配置需求。例如,可以在 ethernets 标签下定义以太网接口的 IP 地址和网关,然后在 nameservers 标签下定义 DNS 解析器的配置。在配置完成后,使用 netplan apply 命令即可使配置生效

 

01-network-manager-all.yaml,linux,服务器,ubuntu

ubuntu18.04系统里查看网卡用netplan配置的信息

allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ networkctl 
WARNING: systemd-networkd is not running, output will be incomplete.

IDX LINK             TYPE               OPERATIONAL SETUP     
  1 lo               loopback           n/a         unmanaged 
  2 enp4s0           ether              n/a         unmanaged 
  3 enp5s0           ether              n/a         unmanaged 
  4 virbr0           ether              n/a         unmanaged 
  5 virbr0-nic       ether              n/a         unmanaged 
  6 macvtap0         ether              n/a         unmanaged 
  7 vnet0            ether              n/a         unmanaged 
  8 docker0          ether              n/a         unmanaged 

8 links listed.
allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ sudo networkctl status enp4s0
WARNING: systemd-networkd is not running, output will be incomplete.

● 2: enp4s0
       Link File: /lib/systemd/network/99-default.link
    Network File: n/a
            Type: ether
           State: n/a (unmanaged)
            Path: pci-0000:04:00.0
          Driver: igb
          Vendor: Intel Corporation
           Model: I210 Gigabit Network Connection
      HW Address: a8:5e:45:3d:f7:7d
         Address: 192.168.0.7
                  fe80::594e:3bca:fb75:f761
         Gateway: 192.168.0.254

四、如使用 netplan

配置文件:/etc/netplan/*.yaml
命令:netplan apply
每个网卡都需要在 /etc/netplan 目录中设置配置文件,在配置中指定网卡ip信息,使用DHCP或者静态ip方式。
/etc/netplan/ 目录下的配置文件,扩展名为.yaml(例如 /etc/netplan/config.yaml),然后运行 netplan apply 此命令分析配置信息并将其应用生效。
配置文件示例:
 

#网卡eth0使用dhcp方式配置ip网络,配置如下。yaml配置是用空格作为缩进对齐,不能使用tab键。
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      dhcp6: no
#网卡eth0使用静态ip方式,用关键字addresses指定ip地址和子网掩码(支持ipv4和ivp6),gateway4指定网关ip,nameservers 指定DNS。

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 10.10.10.2/24
      gateway4: 10.10.10.1
      nameservers:
          search: [mydomain, otherdomain]
          addresses: [10.10.10.1, 1.1.1.1]

配置文件里的关键字说明:

  • renderer:指定后端网络服务,支持networkd(Systemd-networkd) 和 NetworkManager两种,默认是networkd。
  • ethernets:指定是以太网配置,其他的还包括 wifis 或者 bridges
  • eth0:以太网网卡名称
  • dhcp4:开启使用ipv4的DHCP,默认是关闭。
  • dhcp6:开启使用ipv6的DHCP,默认是关闭。
  • addresses:对应网卡配置的静态ip地址,是ip/掩码的格式,支持ipv6地址,例如 addresses: [192.168.14.2/24, "2001:1::1/64"]
  • gateway4, gateway6:指定IPv4/6默认网关,使用静态ip配置时使用。例如IPv4: gateway4: 172.16.0.1 例如IPv6: gateway6: "2001:4::1"
  • nameservers:设置DNS服务器和搜索域。有两个受支持的字段:addresses:是DNS地址列表,search:是搜索域列表,没有特殊需要可以不配置search这项。

更多配置项可以参考netplan.io文档 https://netplan.io/reference

参考资料:

BionicBeaver/ReleaseNotes - Ubuntu Wiki
Netplan | Backend-agnostic network configuration in YAML

=============================

使用 Netplan 配置网络
您可以在/etc/netplan/*.yaml找到新的配置文件。

Ubuntu 服务器为 system- networkd生成名为01-netcfg.yaml的 Netplan 配置文件,

Ubuntu 桌面为 Network-Manager 生成名为01-network-manager-all.yaml的 Netplan 配置文件。

当我在 Ubuntu 桌面上工作时,我的/etc/ netplan目录中有01-network-manager-all.yaml文件用于网络配置。01-network-manager-all.yaml用于配置第一个接口。如果您有多个接口,请使用02-network-manager-all.yaml作为第二个接口。Netplan 按数字顺序应用配置。这意味着 01 文件将在 02 文件之前应用。

现在让我们转向网络配置。按照以下步骤在 Ubuntu 中配置静态或动态 IP 地址:

allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether a8:5e:45:3d:f7:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.7/24 brd 192.168.0.255 scope global noprefixroute enp4s0
       valid_lft forever preferred_lft forever
    inet6 fe80::594e:3bca:fb75:f761/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether a8:5e:45:3d:f7:7e brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global enp5s0
       valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:08:04:02:32 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

记下要使用 Netplan 配置的接口名称。这里的是enp4s0和enp4s0 我的机器是双网卡

2. Netplan默认配置文件在/etc/netplan目录下您可以使用以下命令找到:

allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ ls /etc/netplan/
01-network-manager-all.yaml  02-network-manager-all.yaml
allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ cat  /etc/netplan/*
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ 

根据您的网络需要更新配置文件。对于静态 IP 寻址,添加 IP 地址、网关、DNS 信息,而对于动态 IP 寻址,无需添加此信息,因为它将从 DHCP 服务器获取此信息。使用以下语法编辑配置文件。

network:
    Version: 2
    Renderer: NetworkManager/ networkd
    ethernets:
       DEVICE_NAME:
          dhcp4: yes/no
          addresses: [IP_ADDRESS/NETMASK]
          gateway: GATEWAY
          nameservers:
             addresses: [NAMESERVER_1, NAMESERVER_2]

此处说明

DEVICE_NAME:接口的名称。

dhcp4:是或否取决于动态或静态 IP 寻址

addresses:设备的 IP 地址以前缀表示法。不要使用网络掩码。

gateway:连接到外部网络的网关 IP 地址

nameservers : DNS 名称服务器的地址

请注意,Yaml 文件的缩进相当严格。使用空格来缩进,而不是制表符。否则,您将遇到错误。

在 Ubuntu 中配置静态 IP 地址

要手动配置 IP 地址,请使用上述配置文件语法并添加 IP 地址、网关和 DNS 服务器信息。在这里您可以看到我的静态 IP 寻址配置文件:

allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ cat 02-network-manager-all.yaml 
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
     enp5s0:
       dhcp4: no
       addresses: [192.16.10.11/24]
       gateway4: 192.168.0.254
       nameservers:
         addresses: [8.8.8.8,114.114.114.114]

在 Ubuntu 中配置动态 IP 地址 

01-network-manager-all.yaml,linux,服务器,ubuntu

测试配置

在应用任何更改之前,我们将测试配置文件。以 sudo 身份运行以下命令以测试配置:

$ sudo netplan try

应用配置

现在通过以 sudo 身份运行以下命令来应用新配置:

$ sudo netplan apply

如果您看到任何错误,请尝试调试以调查问题。要运行调试,请使用以下命令作为 sudo:

$ sudo netplan –d apply

重启网络服务
成功应用所有配置后,通过运行以下命令重新启动网络管理器服务:

$ sudo systemctl restart network-manager
如果您使用的是 Ubuntu 服务器,请改用以下命令:

$sudo systemctl restart system-networkd
验证 IP 地址
现在要验证新配置是否成功应用,请运行以下命令来验证 IP 地址:

$ ip a
无论您拥有 Ubuntu 服务器还是台式机,您都可以简单地使用 Netplan 配置静态或动态 IP 寻址,而无需任何复杂的配置。
 

==================

Netplan 是一款使用在终端的配置网络工具,本文介绍在 Ubuntu 18.04 系统中使用 Netplan 来配置网络,新的配置文件、网络设备名称、配置静态 IP 地址、测试配置并应用、配置 DHCP。

前言

多年以来 Linux 管理员和用户们以相同的方式配置他们的网络接口。例如,如果你是 Ubuntu 用户,你能够用桌面 GUI 配置网络连接,也可以在 /etc/network/interfaces 文件里配置。配置相当简单且可以奏效。在文件中配置看起来就像这样:

auto enp10s0

iface enp10s0 inet static

address 192.168.1.162

netmask 255.255.255.0

gateway 192.168.1.100

dns-nameservers 1.0.0.1,1.1.1.1

保存并关闭文件。使用命令重启网络:

sudo systemctl restart networking

或者,如果你使用不带 systemd 的发行版,你可以通过老办法来重启网络:

sudo /etc/init.d/networking restart

你的网络将会重新启动,新的配置将会生效。

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

我将向你展示如何在 Linux 上使用 Netplan 配置静态 IP 地址和 DHCP 地址。本文在 Ubuntu Server 18.04 系统中演示。有句忠告,你创建的 .yaml 文件中的缩进必须保持一致,否则将会失败。你不用为每行使用特定的缩进间距,只需保持一致就行了。

 netplan try  #用此命令启用配置,并输入回车确定

【Server版本】

一、在Ubuntu Server版本中,因为只存有命令行模式,所以要想进行网络参数设置,只能通过修改 /etc/network/interfaces 。具体设置方法如下:

下面介绍2种Ubuntu 18.04系统下设置静态IP的方法

二、方法一

Ubuntu 18.04采用netplan来管理网络配置计划,在/etc/netplan/目录下有一个以yaml结尾的文件,例如00-installer-config.yaml,不同版本的系统这个文件名可能会有些差异,但是不影响,以实际为准。

(1):先ifconfig|ip a查看电脑的网卡信息:

allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether a8:5e:45:3d:f7:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.7/24 brd 192.168.0.255 scope global noprefixroute enp4s0
       valid_lft forever preferred_lft forever
    inet6 fe80::594e:3bca:fb75:f761/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether a8:5e:45:3d:f7:7e brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global enp5s0
       valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:08:04:02:32 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

找到物理网卡的名称,我这里是enp4s0,其他几个是虚拟网卡和本地回环,不用管。

(2)输入route -n命令,打印路由表,这里主要是为了查看网关地址,后续会用到

allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ route -n
内核 IP 路由表
目标            网关            子网掩码        标志  跃点   引用  使用 接口
0.0.0.0         192.168.0.254   0.0.0.0         UG    100    0        0 enp4s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 enp5s0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp4s0

 我这里网关地址是192.168.0.254

(3)配置ip

allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2
  ethernets:
    enp4s0:
      addresses: [192.1168.0.11/24]
      gateway4: 192.168.0.254
      dhcp4: false
      nameservers:
          addreses: [114.114.114.114,8.8.8.8]
    enp4s0:
      dhcp: false
  renderer: NetworkManager  #networkd

 renderer如果是让NetworkMnager来托管的话,需要sudo vim /etc/NetworkManager/NetworkManager.conf

 interfaces和Network-Manager是两种网络的设置方案。桌面情况,将conf文件中managed设置成true。

netplan的renderer两种方式:
renderer:NetworkMnager-->vim /etc/NetworkManager/NetworkManager.conf

renderer:networkd->vim /etc/network/interfaces

network:
  ethernets:
    ens33:     #配置的网卡的名称
      addresses: [172.16.85.130/24]    #配置的静态ip地址和掩码
      dhcp4: no    #关闭DHCP,如果需要打开DHCP则写yes
      optional: true
      gateway4: 172.16.85.2    #网关地址
      nameservers:
         addresses: [8.8.8.8,8.8.4.4]    #DNS服务器地址,多个DNS服务器地址需要用英文逗号分隔开
  version: 2
  renderer: networkd    #指定后端采用systemd-networkd或者Network Manager,可不填写则默认使用systemd-workd

注意事项:

  • ip 地址和 DNS 服务器地址需要用[]括起来,但是网关地址不需要
  • 每个冒号后边都要先加一个空格
  • 每一层前边的缩进,至少比上一层多两个空格

根据实际需要依次设置enp3s0网卡的静态IP地址、网关、DNS,dhcp4设置为false,最后一行添加:renderer: networkd。注意缩进对齐,并且每个冒号后面要跟一个空格,否则会有问题。设置好后保存退出。

(4)输入命令netplan apply使改动生效,然后reboot重启系统,就配置好了。

三、方法二

有时候根据方法一操作,仍然不能成功设置静态IP,原因一般是系统里面安装过ifupdown命令。这个命令会根据/etc/network/interfaces这个文件里的配置信息来设置网卡,会覆盖掉上面方法一中的设置,导致不起作用。这时候我们只需修改/etc/network/interfaces这个文件即可。

(1)打开 /etc/network/interfaces

allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ cat  /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto br1
iface br1 inet dhcp
   bridge_ports virbr0-nic
   bridge_stp on
   bridge_fd 0.0

=====================
auto lo
iface lo inet loopback
动态地址:
auto eth0
iface eth0 inet dhcp
静态地址
auto eth0
iface eth0 inet static
address 192.168.0.11
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameserver 114.114.114.114

参照上图进行填写,其中网卡名称、静态IP地址、网关需要根据实际进行填写,填写好后保存退出。

(2)

allen@jettech-WS-C621E-SAGE-Series:/etc/netplan$ sudo cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.


search localdomain #如果本Server为DNS服务器,可以加上这一句,如果不是,可以不加
nameserver 172.16.3. #希望修改成的DNS
nameserver 172.16.3. #希望修改成的DNS
options edns0

(3) Ubuntu Server 最后一步,也是最重要的一步

  在rc.local里加入这个重启网络配置的命令:

sudo /etc/init.d/networking restart

【Desktop版本】

在Desktop版本中,除了可以修改 /etc/network/interfaces 来进行配置以外;还可以直接在network-manager中配置。通过 interfaces修改的方法参照Server版本。network-manager的配置和直观,按照提示一步一步操作即可,有兴趣的朋友,可以自行Google或者Baidu

但如果修改了interfaces,又配置了network-manager(以下简称nm),你就会发现出现了一些莫名其妙的问题:

1,interfaces和 nm中的网络设置不一样,系统实际的IP是哪个?

2,有时候莫名其妙的,界面右上角的网络连接图标就丢失了。

3,明明在nm中配置了正确的网络设置,为什么就上不了网呢?

其实,我们要知道 interfaces和 nm之间的关系,这些问题就不难解释了。

首先,当系统内没有第三方网络管理工具(比如nm)时,系统默认使用interfaces文件内的参数进行网络配置。(就像Server版本一样)

接着,当系统内安装了 nm之后,nm默认接管了系统的网络配置,使用nm 自己的网络配置参数来进行配置。

但是,如果用户在安装nm之后(Desktop版本默认安装了nm),自己手动修改了interfaces 文件,那nm 就自动停止对系统网络的管理,系统改使用interfaces 文件内的参数进行网络配置。

此时,再去修改nm 内的参数,不影响系统实际的网络配置。若要让nm 内的配置生效,必须重新启用nm 接管系统的网络配置。

现在知道了两者之间的工作关系,再看上面的三个问题:

1,要看nm是否接管,如果没有接管,系统实际的IP设置以interfaces 中的为准。反之,以nm 中的为准。

2,当nm 停止接管的时候,网络连接图标就丢失了。

3,同样是接管的问题。

如果用户希望在Desktop版本中,直接使用interfaces 进行网络配置,那可以关闭network-manager:

/etc/init.d/network-manager stop
systemctl stop NetworkManager

vim /etc/network/interfaces修改之后

确保/etc/NetworkManager/Network-manager.conf内的managed=false(系统默认是false,但是你更改过的话需要改这里)

/etc/init.d/networking restart
如果希望能继续使用nm 来进行网络配置,则需要进行如下操作:
sudo service network-manager stop # 停止 nm服务
sudo rm /var/lib/NetworkManager/NetworkManager.state # 移除nm 的状态文件
sudo gedit /etc/NetworkManager/nm-system-settings.conf # 打开nm 的配置文件

##里面有一行:managed=true

## 如果你手工改过 /etc/network/interfaces ,nm会自己把这行改成:managed=false(这里应该默认就是false)

## 将false 修改成true

sudo servicenetwork-manager start

Debian/Ubuntu的Network-Manager

    debian/ubuntu管理网络连接的有两个东西,图形化的NetworkManager和文字的 ifup/ifdown,如果在 /etc/network/interfaces里设置了网卡信息,那么NetworkManager就不会接管该网卡,如果没有设置NetworkManager默认是会接管网卡的。
    NetworkManager最方便的地方是个人电脑用无线连网的时候,因为文字界面的 iwlist wlan0 scan 并不是非常好用,而NetworkManger可以像windows那样列出所有可用的wifi热点,如果有中文乱码的,也一样可以连接,但如果你的机子是用来做服务器的,或者是在办公室里使用,有固定的路由环境,一般来说,也会有固定的ip,因为这样可以方便内网共享资源。总之不是个人用的,而且不用移来移去的话,最好是关掉这个NetworkManager,当然如果你经常带着本子跑,想去咖啡馆蹭网的话,就一定要打开这个NetworkManager,自动搜索无线非常方便了。
    下面来说说这两种情况:
    1,使用NetworkManger来联网,这个时候,如果使用了无线连接路由,而在/etc/network/interfaces里配置了有线连接的eth0的话,就会发生一个超级诡异的问题:可以访问外网,但不能访问内网,比如无线路由ip 192.168.0.1,ping该地址,会显示有线网卡的ip地址无法ping通,而不是无线!证明在设置了有线eth0的时候,会优先采用,但奇怪的是,外网连接正常,所有我怀疑这可能是debian的一个bug。所以当使用 NetworkManager的时候,可以注释掉所有/etc/network/interfaces 里的内容,仅仅保留本地回环网络:
        auto lo
        iface lo inet loopback
    这两句。设置固定ip,可以在NetworkManager图形界面里配置。
    2,关闭NetworkManager,关闭命令:sudo /etc/init.d/network-manager stop 取消开机启动:chkconfig network-manager off 重启网络:/etc/init.d/networking restart
    修改 /etc/network/interfaces 文件,
    系统配置部分:本地回环网络。
        auto lo
        iface lo inet loopback
    有线配置部分:
        auto eth0
        #iface eth0 inet dhcp # 如果你不想用固定ip的话,推荐用固定ip,这样可以省去请求路由分配的时间
        iface eth0 inet static
        netmask 255.255.255.0
        gateway 192.168.0.1      #gateway 0.0.0.0 # 拨号上网请把 gateway全部设置为0
        address 192.168.0.112
    无线配置部分:
        auto wlan0
        iface wlan0 inet static
        netmask 255.255.255.0
        gateway 192.168.0.1
        address 192.168.0.113
        pre-up ip link set wlan0 up
        pre-up iwconfig wlan0 essid ssid
        wpa-ssid TP-Link # 这里的ssid为路由里设置的无线名称
        wpa-psk 12345678 # 无线密码
    adsl拨号上网:
        auto dsl-provider
        iface dsl-provider inet ppp # dsl-provider 为之前配置好的拨号名称
        provider dsl-provider文章来源地址https://www.toymoban.com/news/detail-764314.html

到了这里,关于ubuntu18 网络问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Chapter 7 - 15. Congestion Management in Ethernet Storage Networks以太网存储网络的拥塞管理

    Congestion Notification in Routed Lossless Ethernet Networks End devices and their applications may not be aware of congestion in the network. A culprit device may continue to send (or solicit) more traffic on the network making the severity of congestion worse or increasing its duration. To solve this problem, the network switches can ‘explicitly’ notif

    2024年01月22日
    浏览(51)
  • ROS学习笔记01、安装Ubuntu18.04以及ROS环境

    马上开学,目前学校很多实验室都是人工智能这块,大部分都是和机器人相关,然后软件这块就是和cv、ros相关,就打算开始学习一下。 本章节是虚拟机安装Ubuntu18.04以及安装ROS的环境。 学习教程:【Autolabor初级教程】ROS机器人入门,博客中一些知识点是来源于赵老师的笔记

    2023年04月08日
    浏览(58)
  • 【VR】Network Manager HUD

    💦本专栏是我关于VR开发的笔记 🈶本篇是——Network Manager HUD 网络管理器 HUD是一种快速启动工具,可帮助您立即开始构建多人游戏,而无需首先构建用于游戏创建/连接/加入的用户界面。 这个组件是这个样子的: 在Game窗口的显示是这样的: offset X: HUD GUI 的水平像素偏移,

    2024年02月10日
    浏览(42)
  • Ubuntu-18.04版本网络配置,连接网络的方法

    运行命令 sudo apt-get update 时出错:  好久没有Ubuntu,本来想安装一个工具,结果一顿操作后,发现网没连上。后来查了资料,才解决。 1.查看网络状态,命令行输入并运行如下代码, NetworkingEnabled=false 说明Ubuntu没有连网。  2.关闭网络服务站,命令行输入并运行如下代码:

    2024年02月11日
    浏览(57)
  • ubuntu18.04安装之后没有网络,不显示网络图标

    新安装的ubuntu18.04.06安装完成后插着网线,但是没有有线网,桌面上不显示网络图标。 原因是因为ubuntu系统安装时自带的网卡驱动不兼容导致的。下面来讲解解决方法: 首先,先试用手机连接线,将手机连接到电脑usb口,使用手机上的USB网络共享,让电脑先可以联网。然后在

    2024年02月10日
    浏览(43)
  • Ubuntu18.04屏幕分辨率问题

    本篇博客最早发布于实验室公共博客,但已无人维护,现迁移至个人博客 本来昨天还好好的,过了一夜,就变了,像极了咳咳(自行脑补) redwallbot-2小车上固定的屏幕,屏幕分辨率本来应该是1920x1080的,但是不知道怎么今天再开机,分辨率就只有640x480,看着就很难受,而且影

    2024年02月11日
    浏览(43)
  • [问题解决] ubuntu 18.04 GPU驱动安装

     删除当前显卡驱动[参考] 查看推荐驱动   安装对应驱动 验证安装是否成功:nvidia-smi    

    2024年02月11日
    浏览(99)
  • ubuntu18.04安装后没有网络服务,无法连接有线网络(usb共享网络)

    在一台新主机上安装双系统ubuntu18.04之后,无法连接有限网络,而且设置中没有有线连接选项,原因是新机器自带网卡驱动与ubuntu自带网卡驱动不兼容。 使用如下命令查看网卡设备   其中,Ethernet为有线连接,驱动为Realtek  RTL8125网卡驱动,去realtek官网下载一下网卡驱动。网

    2024年02月05日
    浏览(44)
  • Ubuntu:18.04/20.04使用netplan设置网络

    通常,Ubuntu的默认设置是通过DHCP服务器自动获取IP地址,这对台式机系统来说非常有用,因为它不需要任何更改。 但是,始终建议为Ubuntu服务器分配一个静态IP地址,因为该静态IP地址将在重新启动后保持不变。 Ubuntu 17.10及更高版本使用“Netplan”作为默认网络管理工具。因此

    2024年02月05日
    浏览(48)
  • Ubuntu 18.04无网络连接的n种可能办法

    windows下连接外网的网卡,在VMware的虚拟网络编辑器上桥接到指定的虚拟网络上 该虚拟网络添加为Ubuntu18.04的网络适配器,设置为正确的静态ip,这之间的对应关系需要正确 静态ip设置与对应方法: 在宿主机Windows打开网络设置,打开网络适配器选项,选择要连接外网的记下该

    2024年02月04日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包