Debian 路由器:允许来自内联网的传入流量

Debian 路由器:允许来自内联网的传入流量

我有学校网络10.0.0.0/8

我在 eth0 上运行了 debian,并在 eth1 上运行了本地网络,并分配了静态 IP10.122.72.2网关10.122.72.110.122.2.0/24

问题是我可以访问其他网络,例如,10.122.1.0/24但我无法从外部访问我的本地网络,例如,ping 10.122.2.110.122.1.0/24网络

tracert 10.122.1.1从我的本地网络告诉我数据包是如何路由的10.122.2.1 -> 10.122.72.1 -> 10.122.1.1

tracert 10.122.2.110.122.1.0/24网络给我10.122.1.1 -> 10.122.254.9 -> request timed out

sudo route -n给我这个:

Kernel IP routing table
Destination Gateway     Genmask       Flags Metric Ref Use Iface
0.0.0.0     10.122.72.1 0.0.0.0       UG    0      0   0   eth0
10.122.2.0  0.0.0.0     255.255.255.0 U     0      0   0   eth1
10.122.72.0 0.0.0.0     255.255.255.0 U     0      0   0   eth0

这是我的/etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.122.72.2
netmask 255.255.255.0
network 10.122.72.0
broadcast 10.122.72.255
gateway 10.122.72.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 202.46.129.2
auto eth1
iface eth1 inet static
address 10.122.2.1
netmask 255.255.255.0
network 10.122.2.0
broadcast 10.122.2.255

这是我的防火墙规则

outif="eth0"
lanif="eth1"
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -t nat -A POSTROUTING -o $lanif -j MASQUERADE
iptables -t nat -A POSTROUTING -o $outif -j MASQUERADE

我怎样才能使外部可以访问我的本地网络?

提前致谢

答案1

这里的问题不是您的路由器(至少现在还不是)。

您运行的结果tracert显示10.122.254.9似乎不知道下一步该将数据包路由到哪里。您需要配置学校网络中的其他路由器以路由10.122.2.0/24到您的路由器。

一旦完成后,您甚至可以从路由器中删除 NAT。

根据您给出的两个tracert结果,您的网络似乎是这样的:网络表示

IP 路由逐跳进行。当您尝试将数据包发送到 时10.122.2.1,有两种可能性:

  1. 您与以下设备位于同一子网10.122.2.1:您只需找出其第 2 层地址并将数据包发送给它。
  2. 您位于不同的子网中。您查找路由表以找到子网中可让您更接近的路由器10.122.2.1,找到其第 2 层地址并向其发送数据包。然后,他按照您执行的相同步骤进行操作。

在您的情况下,当您在网络上时10.122.1.0/24,如果上面给出的表示是正确的,您可以向学校控制的路由器 1 和 2 发送消息(2 是默认网关,当您不知道将其发送给谁时)。

由于您不在10.122.2.0/24网络上,并且不知道将其发送给谁,因此您将它发送到默认网关,10.122.1.1即学校控制的路由器 2。它不在同一个子网上10.122.2.1,也没有特殊条目,因此将它发送到它的默认网关,,10.122.254.9而默认网关又可能尝试将其发送到互联网,此时它会被丢弃,因为它10.122.2.1在私有 IP 范围内。

如果您在10.122.72.0/24网络上,您可以添加一个条目来告诉您的计算机可以10.122.2.0/24通过 访问10.122.72.2,但由于您在另一个子网上,您需要告诉学校控制的路由器可以10.122.2.0/24通过 访问10.122.72.2。在这种情况下,这意味着使用直接条目更新学校控制路由器 1,以便您的网络可以通过您的 Debian 计算机访问,并使用直接条目更新学校控制路由器 2,以便您的网络可以通过学校控制路由器 1 访问。

如果不控制学校路由器,你就无法做到这一点。你能做的最好的事情就是在你的 Debian 机器上设置一个 VPN 服务器,然后10.122.2.0/24使用 VPN 连接将流量隧道传输到那里。

相关内容