我过去曾成功地在 Ubuntu 16.04 上设置了通过以太网共享无线互联网连接,如下所述这里。不幸的是,由于磁盘故障,我安装了 Ubuntu 18.04 LTS,但找不到与上述帖子中描述的内容类似的内容。现在所有菜单都不同了,我不知道该去哪里找。
答案1
请遵循以下步骤:
nm-connection-editor
从终端打开nm-connection-editor
点击有线连接并选择下面的编辑齿轮
转到方法选择中的 ipv4 设置选项卡
Shared to Other Computers
来源:
https://www.crookm.com/journal/2018/sharing-wifi-connection-over-ethernet/
答案2
我最近需要在终端环境中执行此操作。
主要原因是 nm-connection-editor 无法在 pinephone 上运行的 manjaro 上打开。
经过多次观察并与耶稣交谈后,我得到了: https://fedoramagazine.org/internet-connection-sharing-networkmanager/
对于我通过“eth0”共享的需求,产生了:
“nmcli 连接添加类型以太网 ifname eth0 ipv4.method 共享 con-name 本地”
由于我的桌面已经配置好了(我猜测是某种 ubuntu-ish 默认配置),所以无线连接被共享了,我立即在桌面上获得了互联网连接。
IPv4 10.42.0.142 子网掩码 255.255.255.0 网关 10.42.0.1
当然,可以使用以下命令在共享连接的设备上找到此信息:“ip address show”,然后查找您正在共享的接口,在我的情况下是“6:eth0”。网关信息在下面 2-3 行。
答案3
以下是无需客户端配置的一种方法:
假设:
- wlan0 是您想要共享给通过以太网连接的计算机的 wifi
- eth0 是客户端计算机连接的以太网适配器
- 您已经通过以下方式安装了 dnsmasq:
sudo apt install dnsmasq
停止服务systemctl stop dnsmasq
- 首先为以太网分配一个 IP,不要使用网络管理器 GUI,因为这会在 dnsmasq 中产生冲突
sudo ip addr add 10.42.0.1/24 dev eth0
- 首先
sudo nano /etc/dnsmasq.conf
然后添加interface=eth0 dhcp-range=10.42.0.50,10.42.0.100,12h server=8.8.8.8 bind-interfaces domain-needed bogus-priv no-dhcp-interface=wlan0
- 然后启动 dnsmasq
systemctl start dnsmasq
- 打开
sudo nano /etc/sysctl.conf
并取消注释该行net.ipv4.ip_forward=1
- 最后
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
- 从这里开始
sudo iptables -A FORWARD -o wlan0 -i eth0 -s 10.42.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
` - 节省
sudo iptables-save | sudo tee /etc/iptables.sav
- 编辑或创建 /etc/rc.local 并
iptables-restore < /etc/iptables.sav
在 exit0 之前添加 - 运行
sudo iptables-restore < /etc/iptables.sav
并确保没有错误 - 您应该已建立与互联网的连接,并在客户端上工作