如何在Arch Linux中配置静态和动态IP地址

时间:2020-03-21 11:47:45  来源:igfitidea点击:

本简要教程介绍了如何在Arch Linux中配置静态和动态IP地址及其衍生品,如Manjaro Linux。
首先,我们将看到如何配置静态IP地址。

在Arch Linux中配置静态IP地址

我们可以以两种方法配置静态IP地址。
我们会看到两者。

方法1:使用NetCtl在Arch Linux中配置静态IP地址

NetCtl是一个命令行实用程序,可用于中读和控制网络配置文件管理器的SystemD服务状态。

正如我们所知道的,示例网络配置文件将在Arch Linux中的/etc/netctl /示例/位置存储。

$ls /etc/netctl/examples/

示例输出:

bonding macvlan-dhcp tunnel wireless-wep
bridge macvlan-static tuntap wireless-wpa
ethernet-custom mobile_ppp vlan-dhcp wireless-wpa-config
ethernet-dhcp openvswitch vlan-static wireless-wpa-configsection
ethernet-static pppoe wireless-open wireless-wpa-static

如上所述,以太网 - 静态和以太网-DHCP文件是示例以太网配置文件。
我们还将在该位置看到无线网络配置文件。

首先让我们找到我们的网卡名。
为此,运行:

$ip link

示例输出:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
 link/ether 08:00:27:db:14:7a brd ff:ff:ff:ff:ff:ff

如上所述,我的网卡名称是ENP0S3.

现在,将示例网卡配置文件从/etc/netctl/exampers /目录复制到/etc/netctl /目录,如下所示。

$sudo cp /etc/netctl/examples/ethernet-static /etc/netctl/enp0s3

用网卡名称替换ENP0S3.

现在,编辑网络配置文件:

$sudo nano /etc/netctl/enp0s3

输入IP地址,网络掩码,网关和DNS服务器详细信息如下所示。

Description='A basic static ethernet connection'
Interface=enp0s3
Connection=ethernet
IP=static
Address=('192.168.1.102/24')
Gateway=('192.168.1.1')
DNS=('8.8.8.8' '8.8.4.4')

我们必须在上面的配置文件中使用实际的网卡名称(i.e enp0s3)替换eth0。
保存并关闭文件。

使网卡能够在每个带有命令的每个重新启动时自动启动:

$sudo netctl enable enp0s3

最后,启动网络配置文件,如下所示。

$sudo netctl start enp0s3

停止和禁用DHCP服务。

$sudo systemctl stop dhcpcd
$sudo systemctl disable dhcpcd

重新启动系统以生效更改。

现在,使用命令验证静态IP地址:

$ip addr

示例输出将是:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
 link/ether 08:00:27:db:14:7a brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.102/24 brd 192.168.1.255 scope global enp0s3
 valid_lft forever preferred_lft forever
 inet6 fe80::367c:d479:4d21:cede/64 scope link 
 valid_lft forever preferred_lft forever

如上所述,在上述输出中,已将静态IP地址(192.168.1.102)分配给网卡。

方法2:使用Systemd在Arch Linux中配置静态IP地址

SystemD是Linux操作系统的系统和服务管理器。
现在,让我们了解如何使用Systemd配置静态IP地址。

创建如下的网络配置文件。

$sudo nano /etc/systemd/network/enp0s3.network

用网络卡的名称替换ENP0S3.
并且,添加以下行。

[Match]
Name=enp0s3
[Network]
Address=192.168.1.102/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4

保存并关闭文件。

接下来,我们需要禁用NetCtl。
要查找已启用的内容,它是与NetCtl相关的,请运行以下命令:

$sudo systemctl list-unit-files

一旦我们识别所有NetCtl相关的东西,禁用所有内容。
我的系统中启用了以下服务,因此我禁用它,如下所示。

$sudo systemctl disable Hyman@theitroad

并且,使用命令从Arch Linux中删除NetCtl软件包:

$sudo pacman -Rns netctl

另外,不要忘记停止和禁用DHCP服务。

$sudo systemctl stop dhcpcd
$sudo systemctl disable dhcpcd

然后,启用和启动SystemD-NetworkD服务,如下所示:

$sudo systemctl enable systemd-networkd
$sudo systemctl start systemd-networkd

重新启动系统。
并且,检查是否使用命令正确分配IP地址:

$ip addr

我们现在知道如何配置静态IP地址。
接下来,我们将看到如何将动态IP地址分配给网卡。

下载产品展示 - 免费视频:"Kali 101 - 免费视频培训程序(价值19美元!)"

使用netctl在Arch Linux中配置动态IP地址

首先,如果未安装它,请安装netctl。

$sudo pacman -S netctl

将Ethernet-DHCP配置文件复制到/etc/netctl/diveliame /目录到/etc/netctl /目录,如下所示。

$sudo cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/enp0s3

编辑/etc/netctl/enp0s3文件:

$sudo vi /etc/netctl/enp0s3

用实际的网络接口名称替换eth0:ENP0S3.

Description='A basic dhcp ethernet connection'
Interface=enps03
Connection=ethernet
IP=dhcp
#DHCPClient=dhcpcd
#DHCPReleaseOnStop=no
## for DHCPv6
#IP6=dhcp
#DHCP6Client=dhclient
## for IPv6 autoconfiguration
#IP6=stateless

保存并关闭文件。

启用和启动DHCPCD服务:

$sudo systemctl enable dhcpcd
$sudo systemctl start dhcpcd

重新启动系统。
使用以下命令验证IP地址:

$ip addr