Маршрутизатор Debian: разрешить входящий трафик из интрасети

Маршрутизатор Debian: разрешить входящий трафик из интрасети

у меня есть школьная сеть10.0.0.0/8

У меня Debian работает со статически назначенным IP- 10.122.72.2шлюзом 10.122.72.1на eth0 и локальной сетью 10.122.2.0/24на eth1.

Проблема в том, что я могу получить доступ к чужой сети, например, 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.1из 10.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.

Без контроля над школьными маршрутизаторами это сделать невозможно. Лучшее, что вы можете сделать, это настроить VPN-сервер на своей машине Debian, а затем туннелировать трафик с 10.122.2.0/24использованием VPN-подключения.

Связанный контент