The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Linux и два провайдера. непонятки объясните"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Linux и два провайдера. непонятки объясните"  +/
Сообщение от stopa85 email(ok) on 15-Май-12, 08:32 
Здравствуйте.

Есть дебиан, локальная сеть (eth0) и два провайдера (eth1, eth2).

Для простоты задача следующая: через канал eth2 пускать пользователей в инет. С обоих каналов принимать входящие соединения.

Вроде бы все работает, пользователи ходят в нет. Соединения принимаются, даже если один из каналов лежит, но не работает ping -I eth1 ya.ru, если eth2 - шлюз по умолчанию.

Вот что имеем после старта системы:

~# ip rule
0:      from all lookup local
1000:   from all lookup localnets
3000:   from X.X.X.78 lookup ruscom
3010:   from Y.Y.Y.134 lookup utel
32766:  from all lookup main
32767:  from all lookup default

~# ip route show table localnets
192.168.0.0/24 dev eth0  scope link

~# ip route show table ruscom
X.X.X.76/30 dev eth1  scope link
default via X.X.X.77 dev eth1

~# ip route show table utel
Y.Y.Y.132/30 dev eth2  scope link
default via Y.Y.Y.133 dev eth2

~# ip route show table main
10.7.0.2 dev tun0  proto kernel  scope link  src 10.7.0.1
X.X.X.76/30 dev eth1  proto kernel  scope link  src X.X.X.78
Y.Y.Y.132/30 dev eth2  proto kernel  scope link  src Y.Y.Y.134
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.1
default via Y.Y.Y.133 dev eth2

~# cat ./firewall.sh
...
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
...


Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от Andrey Mitrofanov on 15-Май-12, 09:16 
Вы забыли сформулировать вопрос?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от stopa85 email(ok) on 15-Май-12, 10:56 
> Вы забыли сформулировать вопрос?

Я, домаю, что должно быть так: ping -I eth1 ya.ru - пинг яндекса через первый канал, ping -I eth2 пинг через второй канал. И то и другое должно завершаться успешно.

Работает пинг только через канал что прописан шлюзом по умолчанию в таблице main. Я не понимаю почему.

Это чей-то глюк?
Ядро фильтрует пакеты считаясь только с таблицей main (типа ответ приходит не с того интерфейса)? Если да, то как отключить?

P.S. Я не знаю как спросить об этом гугла, иначе уже спросил бы.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от 1 (??) on 15-Май-12, 10:57 
https://www.opennet.ru/openforum/vsluhforumID3/31285.html
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от Andrey Mitrofanov on 15-Май-12, 12:27 
> https://www.opennet.ru/openforum/vsluhforumID3/31285.html

Его исходник тут https://www.opennet.ru/tips/info/2009.shtml

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от stopa85 email(ok) on 15-Май-12, 12:43 
>> https://www.opennet.ru/openforum/vsluhforumID3/31285.html
> Его исходник тут https://www.opennet.ru/tips/info/2009.shtml

По этому исходнику и делал.

Но не работает ping -I eth1 ya.ru - я так понимаю должен!

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Linux и два провайдера. непонятки объясните"  +1 +/
Сообщение от PavelR (ok) on 15-Май-12, 21:06 
>>> https://www.opennet.ru/openforum/vsluhforumID3/31285.html
>> Его исходник тут https://www.opennet.ru/tips/info/2009.shtml
> По этому исходнику и делал.
> Но не работает ping -I eth1 ya.ru - я так понимаю должен!

Будет работать если вызовете "ping -I 1.2.3.4" , т.е. явно укажете IP, в частном случае с интерфейса eth1.

Для меня это known issue, причин не помню.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от stopa85 email(ok) on 16-Май-12, 15:55 
>>>> https://www.opennet.ru/openforum/vsluhforumID3/31285.html
>>> Его исходник тут https://www.opennet.ru/tips/info/2009.shtml
>> По этому исходнику и делал.
>> Но не работает ping -I eth1 ya.ru - я так понимаю должен!
> Будет работать если вызовете "ping -I 1.2.3.4" , т.е. явно укажете IP,
> в частном случае с интерфейса eth1.

Спасибо! Это я знал, но забыл)))

> Для меня это known issue, причин не помню.

Будем иметь ввиду... где-то ведь это еще аукнуться может...

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от stopa85 (ok) on 26-Май-12, 23:34 
> Будем иметь ввиду... где-то ведь это еще аукнуться может...

Аукнулось!
OpenVPN-сервер без директивы local слушает "на всех" интерфейсах, но отвечает только на том что маршрут по умолчанию. Проблема решается вешанием OpenVPN на каждом интерфейсе. Posfix же отрабатывает нормально, так что, вероятно, данная проблема свойственна всем UDP-серверам.

UPD.: Тот случай когда маршрутизатор он-же сервер.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от PavelR (ok) on 27-Май-12, 08:31 
>> Будем иметь ввиду... где-то ведь это еще аукнуться может...
> Аукнулось!
> OpenVPN-сервер без директивы local слушает "на всех" интерфейсах, но отвечает только на
> том что маршрут по умолчанию. Проблема решается вешанием OpenVPN на каждом
> интерфейсе. Posfix же отрабатывает нормально, так что, вероятно, данная проблема свойственна
> всем UDP-серверам.
> UPD.: Тот случай когда маршрутизатор он-же сервер.

https://www.opennet.ru/tips/1651_route_iptables_linux_nat.shtml


Проблема решается вешанием OpenVPN на одном интерфейсе, а для прочих интерфейсов делается DNAT, маркировка входящего соединения и маркировка исходящих (ответных) пакетов.


PS. Не помню, была ли какая-то опция у опенвпн-а, для корректировки этой ситуации (отвечать, используя IP, на который изначально пришло соединение), не пользовался.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от stopa85 (ok) on 27-Май-12, 12:46 
> PS. Не помню, была ли какая-то опция у опенвпн-а, для корректировки этой
> ситуации (отвечать, используя IP, на который изначально пришло соединение), не пользовался.

multihome - эта опция.

Но если проблема проявиться там где такой опции нет (или я выставлю в наружу какие-то сервисы из локальной сети), тогда без DNAT-та не обойтись и я предпочту единый подход для всех сервисов.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Linux и два провайдера. непонятки объясните"  +/
Сообщение от ALex_hha (??) on 30-Май-12, 23:32 
> Но если проблема проявиться там где такой опции нет

нет ее только на freebsd :)

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру