配置与特定IP地址的连接共享

编辑 – 问题的更简洁版本:

使用连接共享时,我希望网络管理员使用192.168.254子网而不是10.42.0子网。 这可能吗?

背景

我需要与以太网连接到笔记本电脑的RasPi共享我的无线互联网连接(在Ubuntu笔记本电脑上)。

通过将eth0配置为“共享到其他计算机”(在许多地方都有记录,例如此处 ),一切正常。

使用此设置,连接到RasPi时的IP地址为10.42.0.1 。 RasPi在该子网中获取另一个地址。 一切都很棒!

由于RasPi的配置方式(与其他几个系统一起使用),我希望eth0使用192.168.254.1 。 如果我配置eth0手动使用192.168.254.1手动eth0配置

RasPi连接到我的笔记本电脑,我能够进入它。 但是,虽然我在运行ifconfig时仍然看到有效的wlan0配置,但我无法访问互联网(可能是我的笔记本电脑试图使用eth0而不是wlan0 )。

我正在寻找一种方法:

a)手动配置eth0时仍然使用wlan0访问互联网

b)配置“共享到其他计算机”时强制eth0使用特定的IP地址

我正在尝试为其他用户设置简单的说明,所以如果可能的话我想避免任何手动iptables-type设置。

在1.4.2之前的版本中,10.42.0.x 被硬编码到NetworkManager中 。 忘记基于GUI的解决方案或等到修复错误/function请求。 或者为我们所有人自己修理。 或者至少在启动板上投票以获得更快的分辨率。

升级到版本1.4.4的Ubuntu 17.04,或使用Thomas Haller的以下命令设置主机IP和类。

 nmcli connection modify $CONNECTION_ID +ipv4.addresses 192.168.5.1/24 

其中$CONNECTION_ID如果通过nmcli connection show 。 然后,使用nmcli connection show $CONNECTION_IDvalidationnmcli connection show $CONNECTION_ID

您的配置存在根本问题。 您的网关设置为与本地IP地址相同的IP地址。

图形:Raspi:连接到10.0.0.5 Raspi:不在我的子网中,发送到网关Raspi再次接收请求并以相同的消息响应。

你的问题有点令人困惑,但你的笔记本电脑似乎应该有像192.168.254.2这样的IP

您还需要在笔记本电脑上设置网络地址转换。

我认为如果你桥接这两个接口会更好,所以raspi将有效地使用你的笔记本电脑的wifi进行通信。 在笔记本电脑上,执行:

 sudo -i 

这让你成为了根。

 apt-get update apt-get install bridge-utils brctl addbr br0 brctl addif br0 wlan0 brctl addif br0 eth0 ifconfig br0 10.42.0.1 ifconfig br0 netmask 255.0.0.0 ifconfig br0 up 

Ctrl-D退出root

在raspi(连接到eth0):

 sudo ifconfig eth0 10.42.0.2 sudo ifconfig eth0 netmask 255.0.0.0 sudo ifconfig eth0 up echo 'nameserver 8.8.8.8'>/etc/resolv.conf ping 10.42.0.1 ping 8.8.8.8 ping fb.com 

最后三个命令将显示您拥有的网络访问类型:

  • 如果只有第一次通过:本地网络
  • 如果到第二次通过:互联网访问
  • 如果全部通过:使用DNS访问Internet