Debian 路由器:允許來自 Intranet 的傳入流量

Debian 路由器:允許來自 Intranet 的傳入流量

我有學校網絡10.0.0.0/8

10.122.72.2我在 eth0 上使用靜態分配的 IP網關運行 debian ,在 eth1 上使用10.122.72.1本地網路運行10.122.2.0/24

問題是我可以訪問其他網絡,例如。10.122.1.0/24但我無法從外部存取我的本地網絡,例如。ping 10.122.2.1來自10.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 連線透過隧道傳輸流量。

相關內容