我正尝试wlp1s0b1
通过以太网 ( ) 将我的 Ubuntu 16.04 无头笔记本电脑上的无线连接 ( ) 共享到我的 Windows 10 PC enp0s9
。
这是我的网络图:
路由器(198.168.0.1)---(wifi)--->笔记本电脑(192.168.0.169)---(eth)---> PC(192.168.127.2)
我已经研究了一段时间如何做到这一点。我遵循本教程此处。按照以下步骤操作后,我的路由器便可连接 WiFi。本快速指南我的结果是分配给我的 Windows 10 PC 的 IP 地址(192.168.127.2,到目前为止很好)以及网络掩码和网关(如指南中所述,分别为 192.168.127.1 和 255.255.255.0)。
现在,我无法在已知 IP 地址的两台计算机之间 ping 通。Windows 10 PC 也没有识别出任何外部连接。
相关输出(笔记本电脑):
ifconfig
enp0s9 Link encap:Ethernet HWaddr 70:cd:60:44:47:ba
inet addr: 192.168.127.1 Bcast 192.168.127.255 Mask:255.255.255.0
wlp1s0b1 Link encap:Ethernet Hwaddr 10:9a:dd:b7:ba:b7
inet addr: 192.168.0.169 Bcast:192.168.0.255 Mask:255.255.255.0
route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 600 0 0 wlp1s0b1
192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp1s0b1
192.168.127.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s9
192.168.200.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s9
UFW 已禁用:
UFW status
Status: inactive
然后是文件中的相关条目/etc/network/interfaces
:
auto enp0s9
allow-hotplug enp0s9
iface enp0s9 inet static
address 192.168.200.0
netmask 255.255.255.0
broadcast 192.168.200.255
gateway 192.168.0.1
iface enp0s9 inet6 auto
然后 nmcli 输出:
nmcli connection
NAME UUID TYPE DEVICE
mynetworkname UUID 802-11-wireless wlps0b1
此外,isc-dhcp-server
按照第一的教程/指南。
那么我遗漏了什么?我怀疑这与我的网关分配有关,但我就是无法找到它或弄清楚还有什么可以检查研究。
我所做的就是实现 GUI 中的“共享到其他计算机”设置。
我已经阅读了以下问题。我的问题与此有关,正在调试。这个问题类似,但我的是无头的。 这个问题也类似,但仍然是 GUI。
我怎样才能做到这一点?
编辑:我正在运行无头服务器附加程序,没有 GUI 选项。
答案1
解决了:好的,经过进一步的研究,我最终自己解决了这个问题,这要归功于我快速设置的方便的虚拟机Oracle VirtualBox。
快速解决方案:
您需要使用nmcli
以太网创建一个新连接。然后编辑相关配置文件,如下所示:
>$ nmcli connection add type ethernet ifname enp0s9 && nmcli connection
名称输出应等效:type-iface(在我的情况下为 ethernet-enp0s9)。将 nano 与您选择的编辑器互换。
>$ cd /etc/NetworkManager/system-connections
>$ sudo nano ethernet-enp0s9
现在将方法从自动更改为共享!在 [ipv4] 配置选项卡下:
[ipv4]
dns-search=
method=shared # should be auto by default
保存然后重新启动网络管理器systemctl restart NetworkManager
详细解释:
因此,我的 Mint VirtualBox VM 在这里帮了大忙。在使用通常的 GUI 方法共享互联网后,检查了配置(屏幕截图)并找到方法选项。现在跳回到我的无头系统并取消注释所有 iface 配置/etc/network/interfaces
(不包括 lo),保存并退出。使用 nmcli 创建新的以太网连接,ethernet-enp0s9
跳转到其配置/etc/NetworkManager/system-connections/
并简单地将方法从自动编辑为共享,如上所示。
现在发出shutdown -r
命令,拔下并重新插入以太网电缆,最后重新启动 PC 以确保完整!当然,我还建议在完成所有这些操作后仔细检查 UFW 状态!
最后说明一下:
现在就我的情况而言,我之前一直在摆弄 iptables 等等,所以我有一个方便的小脚本来重置我运行的 iptables:
#!/bin/sh
#
# flush-iptables script.
#
# First delete all rules in the tables
iptables -F
iptables -t nat -F
iptables -t mangle -F
# Add default rules to the filter, nat & mangle tables:
iptables -P OUTPUT ACCEPT
iptables -P PREROUTING ACCEPT
iptables -P POSTROUTING ACCEPT
iptables -t nat -P INPUT ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -P INPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P INPUT ACCEPT
# Remove all non-default chains in filter, nat & mangle tables. Usually what UFW adds
iptables -X
iptables -t nat -X
iptables -t mangle -X
# Finally restart network manager
systemctl restart NetworkManager && echo systemctl status NetworkManager
echo "__________________________________________DONE_________________________"
希望这对其他人有所帮助!出于某种原因,除非您真正深入研究,否则这个(我承认是小众)主题实际上很难在 CLI 中进行研究。我认为这是使用 Linux 的一个主要点!即使现在我知道了这个解决方案,我也曾尝试“反向谷歌搜索”以尝试找到该问题的官方甚至社区解决方案,但找不到任何相关页面(如果我错了,当然请纠正我!)。