如何在 Ubuntu 服务器上配置网络

Ubuntu 附带了一些图形实用程序来配置网络设备,但是服务器管理员特别需要掌握一些主题——包括了解如何从命令行配置网络设备。

要从命令行管理 Ubuntu Server 网络,了解以太网接口、IP 寻址、桥接和名称解析等概念非常重要。 这是一个入门。

管理以太网接口

以太网网络接口是带有以太网端口的电路板,可让您的计算机建立以太网连接。 以太网接口有一个简单的命名约定。 第一个以太网接口通常是 eth0. 然后来了 eth1. 所有额外的接口都会这样排序。

以太网接口中的逻辑命名

要查看可用的以太网接口,请运行 如果配置 命令:

ifconfig -a | grep eth

# Output
eth0: flags=4098 mtu 1500

随着 ETC 命令,您可以定义系统上所有可用的网络接口。 下面您将看到一个示例命令。 此示例 lshw 命令将显示总线信息、驱动程序详细信息及其所有支持的功能作为单个以太网接口。

sudo lshw -class network

您可以使用该文件 /etc/udev/rules.d/70-persistent-net.rules 配置接口的逻辑名称。 要控制哪个接口获取哪个逻辑名称,您需要接口的物理 MAC 地址。 您可以找到与物理MAC地址匹配的行并更改 名称=ethA 随心所欲。 之后立即重新启动系统。

以太网接口设置

随着 ethtool 程序,您可以查看自动协商、双工模式和端口速度等设置。 如果您使用的发行版中没有安装 ethtool,您可以使用以下命令安装它:

sudo apt install ethtool

ethtool 安装完成后,您可以看到一个示例输出 eth0

sudo ethtool eth0

您应该记住,您使用 ethtool 命令所做的更改是暂时的。 如果要保留这些设置,必须将所需的 ethtool 命令添加到 /etc/网络/接口 文件。

例如,您希望接口命名为 eth0 在双工模式下运行的连接速度为 500 MB/s。 要永久配置它,您可以编辑 /etc/网络/接口 文件如下:

您在上面看到的配置也适用于 DHCP 等其他方法,即使它是静态方法接口。

什么是 IP 寻址?

有一些有用的命令可以在 GNU/Linux 中进行临时网络配置。 命令如 ip, 如果配置, 和 路线 将帮助您进行这些配置。 这些命令用于配置会立即产生影响但不是永久的参数。 当您重新启动系统时,这些配置将丢失。

首先,您可以处理 如果配置 命令。 例如,假设您想临时配置一个 IP 地址。 只需更改 IP 地址和子网掩码即可满足您的网络需求。

如果您想使用 路线 命令来指定默认网关,以下面的命令为例:

route add default gw 10.0.0.1 eth0

要测试此设置,请运行以下命令:

route -n

有时您需要 DNS 来进行临时网络配置。 为此,您可以将 DNS 服务器 IP 地址添加到 /etc/resolv.conf 文件。 直接配置此文件可能是一个问题。 但是,这是一种非永久性配置。 下面是一个相关的例子:

# vim /etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4

如果您不再需要所做的配置,可以使用以下命令刷新它们:

ip addr flush eth0

使用上述命令清除 IP 配置不适用于 /etc/resolv.conf 文件。 您必须手动删除此文件中包含的信息并重新启动系统。

动态 IP 分配

对于动态地址分配,请将您的 Ubuntu 服务器配置为使用 DHCP。 为此,您必须将 DHCP 方法添加到 inet 地址族声明中,以便在 /etc/网络/接口 文件。

auto eth0 
iface eth0 inet dhcp

您也可以使用 如果上 命令,它通过以下方式开始 DHCP 操作 客户端.

sudo ifup eth0

如果下 命令可用于手动停用接口。 此命令启动 DHCP 广播过程,同时关闭接口。

sudo ifdown eth0

静态 IP 分配

您可以更新 /etc/网络/接口 再次文件以使用静态 IP 地址分配设置您的 Ubuntu 服务器。 在此文件中,您可以将静态方法添加到相关接口的 inet 地址族中。 与动态 IP 分配一样,您可以使用 如果上如果下 命令。

环回

你可能已经看过 使用时的声明 如果配置 命令。 这里的 lo 表达式是 loopback,默认使用 IP 地址 127.0.0.1。

ifconfig lo

环回接口应该由两行自动配置 /etc/网络/接口 默认文件。 以下是默认行的两个示例:

auto lo 
iface lo inet loopback

什么是名称解析?

名称解析是将 IP 地址转换为主机名的过程。 但是,您需要了解一些关于用于名称解析的 DNS 和静态主机名记录的事情。

如何配置 DNS 客户端

解析配置 框架用于监视这些更改并自动更新设置。 手动更改 /etc/resolv.conf 文件对 resolvconf 有影响。 为了克服这个问题,利用 DHCP 客户端挂钩和 /etc/网络/接口.​​​​​​​​​

/etc/resolv.conf -> ../run/resolvconf/resolv.conf

将可用于配置的名称服务器的 IP 地址添加到 /etc/网络/接口 文件。 如果您的网络有多个要搜索的子域,您也可以使用它们。 您的文件可能如下所示:

iface eth0 inet static

# Output
address 192.168.2.2
netmask 255.255.255.0
gateway 192.168.2.1
dns-search test.com

如果您使用服务器 ping 主机,则 FQDN(完全限定域名)的查询将基于您的域名顺序。 在此示例中,它们分别是 test.com、market.test.com 和 support.test.com。

什么是静态主机名?

静态主机名与 /etc/hosts 文件。 hosts 文件中的输入优先于 DNS。 如果您的系统正在尝试解析主机名,它将浏览 /etc/hosts 文件。 如果它在这里找到任何匹配,它不会尝试在 DNS 中查找它。

下面是一个带有 FQDN 的主机文件示例:

127.0.0.1 localhost
127.0.1.1 muo-server
10.0.0.11 server1 server1.test.com vpn
10.0.0.12 server2 server2.test.com mail
10.0.0.13 server3 server3.test.com www

NSS 配置

/etc/nsswitch.conf 文件控制 NSS(名称服务开关)。 在这里,您的系统选择将主机名解析为 IP 地址的方法的顺序受到控制。 这是一个例子 /etc/nsswitch.conf

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
  • 文件: 首先尝试解析hosts文件中的静态主机名
  • mdns4_minimal: 尝试使用多播 DNS 解决
  • [NOTFOUND=return]: 如果多播 DNS 结果返回 NOTFOUND 响应,请不要尝试继续。
  • 域名解析: 旧版单播 DNS 查询
  • mdns4: 组播 DNS 查询

您可以更改 主持人: 字符串到您想要更改这些方法的顺序的任何内容。

hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4

什么是桥接?

当有多个场景时,多个接口之间的通信非常方便。 例如,您可能会考虑在具有单个接口的系统上使用网桥,以允许虚拟机直接访问外部网络。 以下示例与此相关。

首先,安装 桥接工具 包裹:

sudo apt install bridge-utils

安装好后打开 /etc/网络/接口 文件:

当然,您必须为您的物理接口和网络输入适当的值。 然后调出桥:

sudo ifup br0

您现在有了一个新的网桥接口。

Ubuntu 服务器上的网络有用吗?

Ubuntu 服务器通常可供具有基本 Linux 知识的人使用。 然而,基本的 Linux 知识可能还不够,尤其是在安全问题日益增多的当今世界。 尽管如此,利用 Linux 的强大功能肯定是有意义的。

最重要的是,Ubuntu 服务器在几乎所有系统和所有平台上都能以高性能和和谐的方式工作。 它还与 Microsoft Hyper-V 和 VMware 等流行产品高度兼容。 许多多用户网站和在线多人游戏使用 Ubuntu 服务器。