配置网络
本页面介绍了 Alpine Linux 中可用的各种网络选项,并帮助您使用网络设置脚本或手动配置您的网络,以及测试您的互联网连接。
ifupdown-ng 软件包作为 alpine-base 的一部分安装,提供了管理网络配置的必要工具。有关其他工具,请参阅NetworkManager。
默认的无线守护程序 wpa_supplicant 可以通过 setup-interfaces
脚本配置,但 Alpine Linux 也完全支持 iwd。
网络设置脚本
以下网络相关脚本可从 alpine-conf 软件包中获得,作为 Alpine 设置脚本的一部分。
以上所有实用程序都是交互式的。当安装 Alpine Linux 时,setup-alpine
脚本应该为您提供了设置以太网/网络的选项。如果您需要在安装后设置网络,可以使用 setup-interfaces 脚本。该脚本配置无线和以太网接口以及其他类型,并将满足大多数简单的配置。
setup-interfaces
通过运行以下命令启动脚本
# setup-interfaces
Available interfaces are: eth0 wlan0. Enter '?' for help on bridges, bonding and vlans. Which one do you want to initialize? (or '?' or 'done') [eth0]
选择 eth0
用于以太网或 wlan0
用于无线设备,视情况而定。
如果询问
Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp]
选择 dhcp
现在它会询问 Do you to do any manual network configuration? (y/n) [n]
在大多数情况下,您可以接受默认选项 n 。选择 y 以在 vi 编辑器中打开 /etc/network/interfaces 文件进行编辑,以继续进行手动网络配置。
上述脚本配置了网络服务,添加到启动运行级别并启动该服务。如果需要手动完成此操作,请参阅网络服务部分。
如果您的网络需求更高级,您必须参考以下详细指南进行手动网络配置。
设置主机名
要设置系统主机名
# echo "shortname" > /etc/hostname
然后,要激活更改
# hostname -F /etc/hostname
如果您使用 IPv6,您还应该将以下特殊 IPv6 地址添加到您的 /etc/hosts 文件中
/etc/hosts 的内容
对于静态 IP 配置,通常还需要将您刚刚设置的机器主机名(如上所述)添加到 /etc/hosts 文件中。
这是一个 IPv4 示例
/etc/hosts 的内容
这是一个 IPv6 示例
/etc/hosts 的内容
配置 DNS
对于静态 IP 地址和静态名称服务器,请使用以下示例之一。
对于 IPv4 名称服务器,编辑您的 /etc/resolv.conf 文件,使其看起来像这样
以下示例使用Google 的公共 DNS 服务器。
/etc/resolv.conf 的内容
对于 IPv6 名称服务器,编辑您的 /etc/resolv.conf 文件,使其看起来像这样
以下示例使用Hurricane Electric 的公共 DNS 服务器。
/etc/resolv.conf 的内容
您也可以使用 Hurricane Electric 的公共 IPv4 DNS 服务器
/etc/resolv.conf 的内容
接口配置
如果您的 Alpine Linux 设置没有/使用 ifupdown-ng,则将使用内置的 busybox-ifupdown。在这种情况下,请勿在 /etc/network/interfaces 文件中使用 192.168.1.150/24 格式。而是使用此处显示的格式
/etc/network/interfaces 的内容
环回配置
要配置环回,请将以下内容添加到新文件 /etc/network/interfaces 中
/etc/network/interfaces 的内容
以上操作可设置 IPv4 环回地址 (127.0.0.1) 和 IPv6 环回地址 (::1
) — 如果您启用了 IPv6。
无线配置
Alpine Linux 支持两个无线守护程序,即 wpa_supplicant 和 iwd。setup-interfaces
脚本使用 wpa_supplicant 来配置无线接口。同时使用两个无线守护程序会导致冲突。
以太网配置
对于以下以太网配置示例,我们将假设您正在使用以太网设备 eth0
。
初始配置
将以下内容添加到 /etc/network/interfaces 文件中,在 eth0
的任何 IP 配置之上
/etc/network/interfaces 的内容
IPv4 DHCP 配置
将以下内容添加到 /etc/network/interfaces 文件中,在 auto eth0
定义下方
/etc/network/interfaces 的内容
默认情况下,busybox DHCP 客户端 (udhcpc) 从 DHCP 服务器请求一组静态选项。如果您需要扩展此集合,您可以通过在接口配置中为 DHCP 客户端设置一些附加命令行选项(通过 udhcpc_opts
)来完成。以下示例请求 domain-search
选项
/etc/network/interfaces 的内容
有关 udhcpc 的完整命令行选项列表,请参阅此文档。
IPv4 静态地址配置
将以下内容添加到 /etc/network/interfaces 文件中,在 auto eth0
定义下方
/etc/network/interfaces 的内容
附加 IP 地址
/etc/network/interfaces 的内容
IPv6 DHCP 配置
ifupdown-ng 工具支持三个 DHCP 客户端:来自 BusyBox 的 udhcpc、dhclient 和 dhcpcd。在这些客户端中,只有 dhcpcd 可以从同一进程与 DHCP 和 DHCPv6 交互,这是 ifupdown-ng 所要求的。因此,上面给出的 IPv4 DHCP 配置也将导致使用 DHCPv6,但这仅在安装了 dhcpcd 软件包时才有效。ifupdown-ng 脚本根据 /usr/libexec/ifupdown-ng/dhcp 脚本优先使用 dhcpcd 而不是 udhcpc。
IPv6 无状态自动配置
将以下内容添加到 /etc/network/interfaces 文件中,在 auto eth0
定义下方
/etc/network/interfaces 的内容
IPv6 静态地址配置
将以下内容添加到 /etc/network/interfaces 文件中,在 auto eth0
定义下方
/etc/network/interfaces 的内容
示例:双栈配置
此示例显示了双栈配置。
/etc/network/interfaces 的内容
网络服务
对 /etc/network/interfaces 所做的更改可以通过运行以下命令激活
# rc-service networking restart
要启动(或重启)网络服务
# rc-service networking --quiet start &
要添加网络服务以便在启动时启动
# rc-update add networking boot
防火墙
Alpine Linux 提供了多种防火墙软件。下面列出了一些著名的防火墙软件
故障排除
连接性测试
通过尝试 ping 出站来测试网络是否配置正确
$ ping www.google.com PING www.l.google.com (74.125.47.103) 56(84) 字节的数据。 64 字节来自 yw-in-f103.1e100.net (74.125.47.103): icmp_seq=1 ttl=48 time=58.5 ms 64 字节来自 yw-in-f103.1e100.net (74.125.47.103): icmp_seq=2 ttl=48 time=56.4 ms 64 字节来自 yw-in-f103.1e100.net (74.125.47.103): icmp_seq=3 ttl=48 time=57.0 ms 64 字节来自 yw-in-f103.1e100.net (74.125.47.103): icmp_seq=4 ttl=48 time=60.2 ms ^C --- www.l.google.com ping 统计 --- 4 个数据包已发送,4 个已接收,0% 数据包丢失,时间 3007ms rtt min/avg/max/mdev = 56.411/58.069/60.256/1.501 ms
对于 IPv6 路由跟踪,运行 traceroute6
$ traceroute6 ipv6.google.com traceroute to ipv6.l.google.com (2001:4860:8009::67) from 2001:470:ffff:ff::2, 30 hops max, 16 byte packets 1 2001:470:ffff:ff::1 (2001:470:ffff:ff::1) 3.49 ms 0.62 ms 0.607 ms 2 * * * 3 * * * 4 pr61.iad07.net.google.com (2001:504:0:2:0:1:5169:1) 134.313 ms 95.342 ms 88.425 ms 5 2001:4860::1:0:9ff (2001:4860::1:0:9ff) 100.759 ms 100.537 ms 89.907 ms 6 2001:4860::1:0:5db (2001:4860::1:0:5db) 115.563 ms 102.946 ms 106.191 ms 7 2001:4860::2:0:a7 (2001:4860::2:0:a7) 101.754 ms 100.475 ms 100.512 ms 8 2001:4860:0:1::c3 (2001:4860:0:1::c3) 99.272 ms 111.989 ms 99.835 ms 9 yw-in-x67.1e100.net (2001:4860:8009::67) 101.545 ms 109.675 ms 99.431 ms
iproute2
安装 iproute2 软件包,该软件包提供了 'ss' 命令,它是 netstat 的替代品。
# apk add iproute2
显示正在监听的 tcp 端口
$ ss -tl
显示正在监听的 tcp 端口和关联的进程
$ ss -ptl
显示正在监听和已建立的 tcp 连接
$ ss -ta
显示套接字使用情况摘要
$ ss -s
显示更多选项
$ ss -h
drill
安装 drill(它还将安装 'ldns' 软件包),它是 nslookup 和 dig 等的优秀替代品
# apk add drill
然后像使用 dig 一样使用它
$ drill alpinelinux.org @8.8.8.8
要执行反向查找(从 IP 获取名称),请使用以下语法
$ drill -x 8.8.8.8 @208.67.222.222
缺少接口
有时安装介质无法检测到网络接口。请参阅检查接口的步骤。有关无线接口的相关问题,请参阅Wifi 故障排除页面。如果没有任何效果,您可能必须使用备用接口进行安装(例如 USB 转以太网适配器)。
参见
您可能还希望查看以下网络相关文章
- ifupdown-ng 管理指南
- NetworkManager - 网络的前端
- VLAN 设置
- Bonding 设置
- 网络桥接设置
- udhcpc 配置
- wpa_supplicant - 默认 wifi 守护程序
- iwd - 备用 wifi 守护程序