因此,让我在这个问题前先声明一下,我不太熟悉 Linux 的方式,因此简单的解释是值得赞赏的。继续讨论手头的问题。
问题
我目前正在运行一个 Arch Linux 服务器(在 archinstall 脚本中选择了服务器选项),它主要用于运行 docker 容器,它使用 WiFi 连接到互联网。我最近决定通过网络交换机(它是非托管/即插即用交换机)将一些设备连接到服务器。由于网络交换机不受管理,我知道我需要手动将 IP 地址分配给连接到它的设备。问题是,在任何给定点,我只能让两个网络之一在系统上正常工作。
如果我配置以太网,那么 WiFi 网络将无法再访问互联网(仍然连接到 WiFi 网络,只是无法访问互联网)。如果我禁用以太网,那么我可以访问互联网,但无法访问有线局域网中连接的设备。我该如何解决这个问题,以便两个网络都连接并且仍然可以访问互联网?
我尝试过的:
我按照指南发现这里。我尝试了netctl方法和systemd方法。我想说的是,对于以太网静态 IP 的 netctl 方法我更幸运,但这只是因为它更容易做到。
由于 netctl 也可以用于连接到 WiFi 网络,我尝试使用它来连接到 WiFi 而不是 iwctl,我想它可能不起作用,因为它有 2 个不同的脚本/程序管理它们。但这不起作用,因为 netctl 没有连接到 WiFi 网络。我使用了他们提供的示例“wireless-wpa”,并调整了内容以匹配我所拥有的内容。起初它不起作用,因为密码被拒绝,所以我使用“wpa_passphrase”获得了加密的密码并使用了它,但这也不起作用。它只是说“wpa 身份验证失败”(可能不完全是这样,我在输入问题之前确实恢复了所有内容,因此错误消息中的详细信息有点偏离)
我确实认为我可能对 netctl 以太网示例的内容进行了太多更改,因此这里是我更改后的示例
Description='A basic static ethernet connection'
Interface=enp0s26
Connection=ethernet
IP=static
Address=('192.168.1.102/24')
Gateway=('192.168.1.1')
DNS=('8.8.8.8' '8.8.4.4')
+ whatever was there after DNS (I didn't touch those)
是的,我所做的只是更改接口名称,但我想我应该显示我使用的配置是什么。
我如何检查连接:
我用的是ping。
检查互联网访问情况ping www.google.com
。
检查以太网连接是否为ping 192.168.1.22
(我为 Windows 机器设置的 IP)
杂项。
静态 IP 以太网的 netctl 示例具有不同的 DNS IP。我也确实尝试过。但那里没有骰子,我很确定它看起来像这样:
Description='A basic static ethernet connection'
Interface=enp0s26
Connection=ethernet
IP=static
Address=('192.168.1.102/24')
Gateway='192.168.1.1'
DNS=('192.168.1.1')
+ whatever was there after DNS (I didn't touch those)
当我开始输入我遇到的问题的标题时这个堆栈交换问题,但我不知道那里发生了什么。
答案1
所以,自从发布问题以来,我已经弄清楚了我无法使用 netctl 来设置两个连接的原因,这是一个路由问题。我用的是此处说明更改系统使用的路由方案并且它可以工作。
好吧,不是 100% 工作,但这只是 netctl 无法随系统自动启动的问题,因为接口已经启动,但这是一个不同的问题。