|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.04.2018, 21:45 | #1 |
Пользователь
Регистрация: 06.07.2008
Сообщений: 91
|
маршрутизация
На шлюзе есть два сетевых интерфейса: один смотрит во вне eth0 на нём внешний ip, второй смотрит во внутреннюю сеть eth1. На внешнем интерфейсе поднят openvpn сервер, на ноутбуке настроен openvpn клиент. Ноутбук будет вынесен и подключаться к openvpn серверу будет из вне. Но пока он был включён во внутреннюю сеть решил проверить и подключится к openvpn серверу который висит на внешнем интерфейсе eth0. На ноутбуке шлюзом по умолчанию прописан ip шлюза eth1.
Получается, что на интерфейс шлюза eth1 приходит пакет адрес назначения которого это ip интерфейса eth0, а адрес отправителя ip внутренней сети который был прописан на ноутбуке. Если стать tcpdump на интерфейс eth1 то так оно и есть, я вижу этот пакет, но вот дальше на интерфейс eth0 он не доходит. Судя по картинке пакет должен попасть в цепочку FORWARD, на форварде проброс настроен, но скорее всего он попадает в цепочку INPUT интерфейса eth1 и далее не двигается, а уничтожается. Прошу тех кто владеет досконально этими вопросами, объяснить почему пакет не доходит до интерфейса eth0 и можно ли осуществить такой проброс? За объяснение и помощь заранее благодарен! |
24.04.2018, 13:27 | #2 |
Пользователь
Регистрация: 06.07.2008
Сообщений: 91
|
Я совсем упустил из виду, что можно подменить айпишники, я так и раньше делал для для сайта что бы он был виден из внутренней сети.
Для ясности нарисовал картинку В моём случае можно было написать правило в цепочке 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 он есть. |
24.04.2018, 14:41 | #3 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
v4567
Без картинке не понятно. А картинка не открывается. Для работы forwarding вначале его надо разрешить настройки надо разрешить forwarding пакетов https://wiki.archlinux.org/index.php...ket_forwarding
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
24.04.2018, 16:35 | #4 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
25.04.2018, 14:23 | #5 | |
Пользователь
Регистрация: 06.07.2008
Сообщений: 91
|
Цитата:
Вот моя схема сетевого фильтра: Вот нарисовал - на 7.7.7.7 проброс есть, на 5.5.5.5 нет. Получается так, что пакет попадает в цепочку INPUT ядро смотрит, что Ip не тот - не интерфейса eth1 и (скорее всего я ошибаюсь) перебрасывает пакет опять в цепочку INPUT но уже интерфейса eth0. tcpdump-пом показало что на интерфейсе eth1 пакет есть, а на интерфейсе eth0 пакета уже нет. Я почему хочу - это всё выяснить, потому что пригодится на будующее. Дело в том, что может быть моя схема фильтра немного не верна, а это значит, что и другие настройки могу делать не правильно, так как нет правильного понимания работы сетевого фильтра. |
|
25.04.2018, 14:59 | #6 |
Пользователь
Регистрация: 06.07.2008
Сообщений: 91
|
Получается так, что если пакет направлен на внешний адрес 7.7.7.7 то он пробрасывается и выбрасывается наружу, а если на 5.5.5.5 (то же не ip интерфейса eth1) то к интерфейсу eth0 не пробрасывается, почему? Ведь ни 7.7.7.7 ни 5.5.5.5 не являются ip адресами интерфейса eth1, но пакет 7.7.7.7 проходит дальше, а 5.5.5.5 нет.
|
25.04.2018, 15:48 | #7 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
v4567
Потому что не должен. Вы мою картинку вообще смотрели? Где там слово интерфейс? 5.5.5.5 у вас внутренний его input routing направляет на цепочку INPUT.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
26.04.2018, 07:54 | #8 |
Пользователь
Регистрация: 06.07.2008
Сообщений: 91
|
Получается никак не настроить, что бы он попал в интерфейс eth0?
|
26.04.2018, 07:54 | #9 |
Пользователь
Регистрация: 06.07.2008
Сообщений: 91
|
Или всё таки как то настроить можно?
|
27.04.2018, 10:41 | #10 |
Пользователь
Регистрация: 06.07.2008
Сообщений: 91
|
Если уйти от правил сетевого фильтра, вопрос заключается вот в чём.
На интерфейс eth1 приходит пакет с ip получателя 7.7.7.7, система видит, что это ip не интерфейса eth1 и смотрит в таблицу маршрутизации так как она понимает, что пакет предназначен не ей. Далее пакет направляется согласно таблице маршрутизации. Теперь рассмотрим вариант когда на интерфейс eth1 приходит пакет с ip 5.5.5.5, система опять видит что, пакет предназначен не ей. И вот дальше не понятно, что система делает дальше???? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Маршрутизация route | vexora_man | Администрирование dedicated серверов, VPS/VDS, shared хостингов, IaaS, PaaS. | 1 | 21.06.2017 12:16 |
Маршрутизация трафика | cyber_lis | C/C++ Сетевое программирование | 1 | 31.10.2012 08:30 |
URL маршрутизация | Droid | ASP.NET | 0 | 14.06.2012 13:51 |