网络图
[ISP] <-> [网关] <-> (局域网 1) <-> [Debian 10 桌面] <-> (局域网 2) <-> [DNS 盒]
- 局域网 1:192.168.0.X/24
局域网 2:192.168.1.X/24
DNS Box 具有静态 IP 192.168.1.8/24
它通过交叉以太网电缆连接到我的 Debian 10 桌面,使用其原生的以太网端口/接口和 Debian 10 盒子上的 USB 以太网接口
然后,Debian 10 盒使用其本机 eth 接口/端口连接到 lan 1 网络
Lan 1 包含一组交换机,它们全部连接到我的 ISP 提供的路由器,这是通向 WAN 的网关
典型设置,为什么这个设置不同/奇怪
通常,我的 DNS 盒与 Lan 1 位于同一网络上。通常我只是将其插入交换机,然后告诉我的 Debian 10 机器在 ip 192.168.1.8 上查找 DNS 信息。通常我所在的网络上的所有设备都通过交换机连接,并且都在网络 192.168.1.X 上。
但是我暂时搬到了其他地方,本地局域网是 192.168.0.X,所以我无法将 DNS 盒插入交换机。
因此,我使用备用 USB 适配器设置了一个新的静态网络,将其连接到 Debian 10 盒。我可以通过 ssh 进入它。
但是它不能作为 DNS 服务器工作。这可能是因为:
- 尽管 DNS 请求可能目前正在发送给它(我不知道它们是否正在发送,因为我不知道如何测试这个)
- 我不认为 DNS 盒知道如何访问 WAN/更广泛的互联网上的 DNS 服务器,因为它可能没有通往更广泛的互联网的路由
- 为了实现这一点,我可能需要将我的 Debian 10 盒设置为路由器,以将流量从网络 192.168.1.X/24 路由到 192.168.0.X/24
但是请注意列表中的第一个项目,我不确定我的直觉是否正确。我试图做的事情可能根本就不可能。
我当前的配置/我尝试过的配置
Debian 10 盒子有 2 个有线网络接口,它们的连接方式如下
- 接口 A:“Eth DHCP”
- “仅自动 (DHCP) 地址”
- 192.168.0.22/24
DNS 服务器:192.168.1.8
接口 B:“Eth DNS Box Static”
- “手动的”
- 192.168.1.1/24
- 网关:留空(?)
- DNS 服务器:空白/无
下一步
目前我不确定应该采取什么诊断步骤。
解决方案
- 更改为root用户并运行
echo 1 > /proc/sys/net/ipv4/ip_forward
设置 iptables 如下:
sudo iptables -L
(目前为空白)sudo iptables --table nat --append POSTROUTING --out-interface enp3s0f2 -j MASQUERADE
sudo iptables --append FORWARD --in-interface enx0050b668976b0j ACCEPT
由于网络接口名称enx0050b668976b0j
太长,此命令失败
- 尝试使用 udev 规则更改此设置 - 但似乎不起作用
使用 进行更改
iproute2
,这可能是暂时的,目前不确定sudo ip link set enx0050b668976b down
sudo ip link set enx0050b668976b name eth1
sudo ip link set eth1 up
然后跑了
sudo iptables --append FORWARD --in-interface eth1 -j ACCEPT
iptables 信息来自https://www.howtoforge.com/nat_iptables
测试
- 通过 ssh 连接到我的 DNS 服务器,ping 通
192.168.1.1
(下一跳 / debian box),192.168.0.1
(下一下一跳 / ISP 路由器),8.8.8.8
一切google.com
正常 - 由于将接口重命名为,更改了 debian 网络配置中的某些设置,包括接口名称,
eth1
除此之外,所有设置都很好 - 在 Debian 机器上访问了几个网站,一切正常
输出自sudo iptables -L
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
答案1
您可能需要做一些事情但这可能仍然不起作用。
从右边开始。
DNS 框:
- 它需要将您的 Debian 10 列为路由器。您可能需要在那里将 192.168.1.1 列为默认网关。
Debian 10 桌面:
- 它需要一个默认网关作为您的 ISP 调制解调器/路由器。这应该会自动发生,因为您声称在那里使用 DHCP。
- 您必须通过将 1 写入 /proc/sys/net/ipv4/ip_forward 来启用 IP 转发。
- 您可能需要在该系统上正确配置防火墙。
ISP 路由器/调制解调器:
- 您必须在那里添加到 192.168.1.0/24 网络的路由,并将 Debian 10 桌面的 IP 地址列为网关。该设备可能支持也可能不支持此功能,并且在此处使用 Debian 10 桌面的 DHCP 并不是最佳选择。
如果上述设置不可行(即由于路由器/调制解调器的限制)您可能只剩下以下选择:
- 在 Debian 10 桌面上使用 NAT。它本身有局限性。
- 将两个网络合并为一个。您的 ISP 路由器/调制解调器是否可以重新配置以使用 192.168.1.0/24 网络?