На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила трёх "С"
Пожалуйста,
1. Соблюдайте правила Форума.
2. Слушайте советы Модераторов.
(например, http://forum.sources.ru/index.php?act=ST&f=7&t=80382 )
3. Сверяйтесь с учебником по Великому и Могучему
  
> маршрутизация
    На шлюзе есть два сетевых интерфейса: один смотрит во вне eth0 на нём внешний ip, второй смотрит во внутреннюю сеть eth1. На внешнем интерфейсе поднят openvpn сервер, на ноутбуке настроен openvpn клиент. Ноутбук будет вынесен и подключаться к openvpn серверу будет из вне. Но пока он был включён во внутреннюю сеть решил проверить и подключится к openvpn серверу который висит на внешнем интерфейсе eth0. На ноутбуке шлюзом по умолчанию прописан ip шлюза eth1.

    Получается, что на интерфейс шлюза eth1 приходит пакет адрес назначения которого это ip интерфейса eth0, а адрес отправителя ip внутренней сети который был прописан на ноутбуке. Если стать tcpdump на интерфейс eth1 то так оно и есть, я вижу этот пакет, но вот дальше на интерфейс eth0 он не доходит. Судя по картинке пакет должен попасть в цепочку FORWARD, на форварде проброс настроен, но скорее всего он попадает в цепочку INPUT интерфейса eth1 и далее не двигается, а уничтожается.

    Прошу тех кто владеет досконально этими вопросами, объяснить почему пакет не доходит до интерфейса eth0 и можно ли осуществить такой проброс?

    За объяснение и помощь заранее благодарен!
      Здесь про микротик, но думаю можно зеркально перенести:
      https://wiki.mikrotik.com/wiki/Hairpin_NAT
        Ничего не ясно.
        Какой IP на eth0 и eth1 (внешний можешь не светить :) )?
        Из какого диапазона выдаются IP клиентам в VPN?

        Ну и вот это:
        Цитата v4567 @
        Получается, что на интерфейс шлюза eth1 приходит пакет адрес назначения которого это ip интерфейса eth0, а адрес отправителя ip внутренней сети который был прописан на ноутбуке. Если стать tcpdump на интерфейс eth1 то так оно и есть, я вижу этот пакет, но вот дальше на интерфейс eth0 он не доходит.

        Пакет попал на устройство у которого на одном из интерфейсов IP=IP_назначения_пакета -> значит пакет уже попал по назначению.
        С чего его дальше ещё куда-то форвардить?
          Цитата

          Здесь про микротик, но думаю можно зеркально перенести:
          https://wiki.mikrotik.com/wiki/Hairpin_NAT


          ^D^ima спасибо за подсказку.

          Я совсем упустил из виду, что можно подменить айпишники, я так и раньше делал для для сайта что бы он был виден из внутренней сети.

          Для ясности нарисовал картинку

          В моём случае можно было написать правило в цепочке PREROUTING и подменить внешний ip 5.5.5.5 на внутренний ip 10.10.10.10 и в Openvpn добавить что бы он слушал интерфейс 10.10.10.10 тогда бы всё работало, или просто добавить в openvpn прослушивание 10.10.10.10 и соединяться на него.

          Но дело уже не в этом просто интересно узнать почему когда я соединяюсь на 7.7.7.7 то пакеты уходят через цепочку FORWARD, а когда (то же можно сказать на внешний интерфейс хоть и находящийся на этом компьютере) на 5.5.5.5 то в цепочку FORWARD они не уходят и пакета на интефейсе eth0 нет, хотя при этом на eth1 он есть.
            Если уйти от правил сетевого фильтра, вопрос заключается вот в чём.

            На интерфейс eth1 приходит пакет с ip получателя 7.7.7.7, система видит, что это ip не интерфейса eth1 и смотрит в таблицу маршрутизации так как она понимает, что пакет предназначен не ей. Далее пакет направляется согласно таблице маршрутизации.

            Теперь рассмотрим вариант когда на интерфейс eth1 приходит пакет с ip 5.5.5.5, система опять видит что, пакет предназначен не ей. И вот дальше не понятно, что система делает дальше????
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0202 ]   [ 15 queries used ]   [ Generated: 28.03.24, 13:06 GMT ]