网络管理器:共享连接和接口的手动设置

网络管理器:共享连接和接口的手动设置

我使用 Ubuntu 14。我有两个接口(eth0 和 usb0)和两个手动设置的连接。我想使用网络管理器。Eth0 是 WAN。如何创建与其他计算机的共享连接?如果我创建新连接(第三个)并使用 eth0 作为接口,则它不起作用。如果我打开现有连接(eth0)并将方法从更改为,ManualShared to other computers我的所有设置都会消失。

答案1

通过网络管理器使用 GUI 进行操作

必须安装 dnsmasq-base:

sudo apt-get install dnsmasq-base

删除 dnsmasq,因为它与 NetworkManager 冲突:

sudo apt-get remove dnsmasq

Ubuntu 8.10 及更高版本附带的 NetworkManager 0.7 版本包含重新设计的用于管理网络连接的用户界面。

新功能和 UI 中有一个选项,用于将连接设置为“与其他计算机共享”。这基本上是一种非常简单的 NAT(网络地址转换)或 Internet 连接共享,内置于 NetworkManager 中。

为了实现这一点,您必须遵循三个步骤:

在您的计算机上安装 dnsmasq。(在 Ubuntu 上,您需要安装该dnsmasq-base软件包。(apt-get install dnsmasq-base这是最简单的方法)

确保您的 WAN 连接(即 Internet 连接)已全部配置(例如使用 DHCP 或静态地址)并且正常工作。基本上,确保您可以打开网页。

对于您的 LAN 接口(可能是第二个网卡或无线网卡),在 IPv4 设置选项卡中选择“共享给其他计算机”。

摘自引文 1

如果一切正常,NetworkManager 应该已经在您的 LAN 接口上自动配置了子网和 DHCP 服务器,并准备好共享您的 Internet 连接。

通过终端执行此操作

在 Linux 上,使用几行 iptables 和 ip_forward 命令即可轻松实现伪装(Windows 语言中的互联网连接共享)。首先,您必须刷新并删除现有的防火墙规则。因此,请在终端中输入以下内容来刷新规则:

iptables -F
iptables -t nat -F
iptables -t mangle -F

现在删除这些链:

iptables -X
iptables -t nat -X
iptables -t mangle -X

现在是时候保存 iptables 规则了,因此输入:

service iptables save
service iptables restart

现在所有规则和链都已清除!检查 /etc/sysconfig/iptables,其中所有默认规则均设置为接受。现在打开 /etc/rc.d/rc.local 并插入以下行:

echo "1" > /proc/sys/net/ipv4/ip_forward

然后保存并关闭文件。现在假设您的互联网接口是 eth0,输入:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
service iptables save
service iptables restart

注意:检查 iptables 是否设置为在启动时启动。或者检查 iptables 服务的状态:

chkconfig –list iptables

如果级别 5 已打开,那么就可以了,否则请在级别 5 或级别 2345 启动服务。

引用:

https://jeremy.visser.name/2009/03/simple-internet-connection-sharing-with-networkmanager/

https://www.howtoforge.com/internet-connection-sharing-masquerading-on-linux

答案2

由于这个问题出现在谷歌搜索的第一行,所以我决定在这里写。

截至 2023 年,在 Ubuntu22.04 下,与其他客户端设备共享网络连接确实可以开箱即用,但有一件事除外:

sudo ufw disable

如果您不禁用防火墙,您的设备将获得本地 IP,并且您可以在主机 PC 和客户端之间进行 SSH,但客户端将无法访问公共互联网。因此,如果我们禁用防火墙,我在两台不同的 PC 上验证了,这种方法自 2023 年起有效。

相关内容