1

У меня есть следующая топология сети, я попытался проиллюстрировать ее, так что извините за плохие навыки рисования.

разные подсети

Я хочу иметь возможность обмениваться данными из сети 10.0.0.0/24 с 192.168.1.0/28 потому что я хочу настроить машину регистрации как виртуальный ящик, запущенный в моей локальной сети, плюс несколько других целей.

Я могу получить доступ к своему брандмауэру из сети 192.168.1.0/28, но не могу сделать наоборот.

Я знаю, что маршруты должны существовать в обоих направлениях в Asus Router, который основан на BusyBox, но я всегда не могу добавить маршрут.

Вот таблицы маршрутизации:

    Asus:
/home/root # ip r s
default via 192.168.0.2 dev eth2.2  metric 1 
127.0.0.0/8 dev lo  scope link 
192.168.0.0/24 dev eth2.2  proto kernel  scope link  src 192.168.0.3 
192.168.1.0/28 dev br0  proto kernel  scope link  src 192.168.1.1 



    Firewall:

admin@piwall:~$ ip r s
default via 10.0.0.1 dev eth0  metric 202 
10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.2  metric 202 
169.254.0.0/16 dev eth1  proto kernel  scope link  src 169.254.51.49  metric 203 
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.2 
192.168.1.0/28 via 192.168.0.2 dev eth1 

Может кто-нибудь научить меня, как правильно добавлять маршруты для выполнения моих задач и немного объяснить, я был бы благодарен.

Спасибо!

2 ответа2

1

На межсетевом экране есть один неверный маршрут:

192.168.1.0/28 via 192.168.0.2 dev eth1

должно быть вместо:

192.168.1.0/28 via 192.168.0.3 dev eth1

Другими словами, ключевое слово via предшествует IP-адресу компьютера, через который должно быть установлено соединение, в данном случае вашего маршрутизатора Asus. Вместо этого вы использовали IP-адрес того же компьютера, с которого начинается соединение.

Чтобы это работало, есть три других условия, первое из которых не имеет отношения к вам, но я упомяну его для всех тех, кто настраивает обычный компьютер в качестве маршрутизатора:

  1. Включите пересылку IPv4, раскомментировав строку

    #net.ipv4.ip_forward=1
    

    в файле /etc/sysctl.conf, а затем форсируйте это правило с помощью

    sudo sysctl -p
    

    , Это не имеет отношения к вам, потому что ваш маршрутизатор Asus уже работает как маршрутизатор, следовательно, он, безусловно, правильно настроил эту опцию.

  2. Убедитесь, что ваши правила брандмауэра на маршрутизаторе Asus разрешают обратные соединения. Видите ли, маршрутизаторы также защищают машины в своей локальной сети, отбрасывая попытки прямой связи, если не включена переадресация портов. Но это слишком ограничительно для вас, потому что вы хотите неограниченный доступ от брандмауэра к вашей локальной сети. Следовательно, вам понадобятся эти два правила:

    iptables -a INPUT -s 192.168.0.2 -d 192.168.1.0/24 -j ACCEPT
    iptables -a FORWARD -s 192.168.0.2 -d 192.168.1.0/24 -j ACCEPT
    

    Эти два правила принимают сообщения (первый вход на маршрутизатор, второй - на внутренний интерфейс) только с компьютера Pi (по очевидным причинам безопасности) на любой компьютер в вашей локальной сети независимо от используемых портов. Это шире, чем просто переадресация портов.

  3. Ваш маршрутизатор будет выполнять NAT, что означает, что все исходящие пакеты будут перезаписаны так, как если бы они поступали от внешнего интерфейса маршрутизатора Asus, с IP-адресом 192.168.0.3. Это означает, что все ответные пакеты на брандмауэр Pi будут, по-видимому, приходить с IP-адреса, отличного от того, к которому было адресовано исходное соединение, и поэтому они будут отбрасываться брандмауэром Pi по очевидным причинам безопасности (эта ситуация имитирует человек в середине атаки).

    Чтобы обойти эту проблему, вы вполне можете приостановить NAT на Asus только для пакетов, предназначенных для межсетевого экрана Pi, следующим образом:

    iptables -t nat -A POSTROUTING -d 192.168.1.2 -j ACCEPT
    

    Чтобы это работало, вы должны убедиться (визуально проверив

    iptables -t nat -L -n -v
    

    ) что вышеприведенное правило указано перед следующим правилом

    iptables -t nat -A POSTROUTING -j MASQUERADE
    

    Причина в том, что правила iptables применяются последовательно, пока не будет найдено первое применяемое правило, а затем проверка всех следующих правил не будет выполнена. В этом случае, следуя правилам в этом порядке, мы гарантируем, что пакеты, предназначенные для брандмауэра Pi, перезаписываться не будут.

0

Ваши таблицы маршрутизации верны - более вероятно, что маршрутизатор Asus, сделанный как домашний шлюз WAN, имеет включенный межсетевой экран, который блокирует все входящие соединения. Посмотрите, можете ли вы отключить его.

(Если функция NAT активна, вы также должны отключить ее. Это, вероятно, не проблема здесь, но совершенно не нужно делать NAT дважды в одной локальной сети.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .