我有一台我控制的机器,运行 Ubuntu 12.10。我所在的网络只允许我连接一台设备。我还有一个 USB 以太网适配器。我想为我的 Raspberry Pi 创建一个挂在其上的专用网络,这样我就可以通过 SSH 连接它并且它可以访问互联网。
有人可以解释一下我需要做什么才能实现这一目标而不破坏我的主网络连接吗?由于不知道在 Linux 路由这个广阔的领域中我需要做什么,所以谷歌搜索有些徒劳。
答案1
这取决于您的 LAN 连接对您的具体限制。
如果您只能将一台物理设备连接到网络(您只能获取一个 IP 地址 - 可能基于网络适配器的 MAC 地址),那么您正在寻找的解决方案是网络地址转换,它创建一个私有网络并为其节点提供一定程度的外部访问(以及被访问的能力)。
Linux 中的“纯软件”解决方案将涉及:
允许不同接口之间的数据包转发(默认关闭)
配置内部网络的路由 - 静态或通过动态主机配置协议最有可能的是在具有 LAN 连接的计算机上运行的 DHCP 服务器。这是为了确保
- 连接到外部网络的机器知道如何处理针对专用网络的数据包,并且
- 内部网络上的节点知道向外部网络发送数据包的位置。
这包括正确设置名称服务器(从 LAN 传播设置,除非您想运行自己的名称服务器)域名系统服务器 - 对于一个 R-Pi 来说有点过大了)。
关键词:NAT、iptables、数据包转发、路由、DHCP、DNS
这些第一的 二我发现的链接(前两个关键字在一起)似乎是合理的。
当然,您可以通过购买家用级路由器(起价约为 R-Pi 价格的三分之一)来省去设置的麻烦。只需大约 R-Pi 的价格,您就可以获得一个无线路由器。
现在,如果您可以连接更多设备但只有一个物理连接器,则可以设置桥接/转发。您需要创建一个桥包含 PC 中的两个网络设备,或者设置数据包转发,并且如果您的 LAN 使用 DHCP(当今大多数网络都这样做)DHCP 中继。然而,第二个选项(转发)没有多大意义,因为它实际上模仿了前者(即桥接)。不过,选择它可能有一些原因(例如,如果您通过 wi-fi 连接到网络,则桥接几乎是不可能的)。
关键词:(网络)桥接、数据包转发、DHCP中继
同样,您可以使用硬件开关达到相同的效果。虽然它们比路由器便宜,但路由器的附加值(无论如何都可以配置为充当交换机)使其通常成为更好的选择。