抱歉,这个问题可能比较蠢,因为我不知道该用什么词来谷歌搜索。但这个问题在我脑子里已经想了好久了。
假设机器 A 是具有两个接口的 isc-dhcpd 服务器。一个私有接口(eth0:192.168.1.1)和一个公共接口(eth1:xxxx)。私有接口无法访问互联网,而公共接口可以访问互联网。
现在。我有一台没有操作系统的机器 B,与机器 A 在同一个网络中。我想使用机器 A 来启动机器 B。机器 A dhcpd 位于接口 eth0 上。
我的问题是,机器 A 将为机器 B 分配一个私有 IP,例如 192.168.1.2。机器 B 将使用机器 A 作为网关,但机器 A 的 192.168.1.1 无法访问互联网来访问操作系统文件。如何解决这个问题?
答案1
为了实现这一点,你需要将你的服务器(机器 A)变成路由器这样,来自私有网络的流量就可以路由到公共接口,反之亦然。
根据您所使用的操作系统/发行版,有很多关于如何执行此操作的指南,但 SU 姊妹网站 Ask Ubuntu 上已经有一个问题的答案。如何将 Linux 服务器设置为路由器。
答案2
您需要使用iptables
或将计算机 A 配置为路由器nftables
。将计算机 A 配置为计算机 B 的网关是不够的。计算机 A 必须知道将这些数据包转发到其其他接口。
此外,PXE 不是可路由协议。您还必须将计算机 A 配置为 PXE 服务器,或者至少为计算机 A 的 DHCP 服务器配置 PXE 辅助地址。