Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: IPROUTE2 + 2 провайдера  (Прочитано 50497 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NeK

  • Новичок
  • *
  • Сообщений: 9
  • The Owner Of The Bunker Services
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #30 : 25 Октября 2009, 02:53:34 »
А это тест на простую внимательность.

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

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #31 : 27 Октября 2009, 21:40:56 »
В каментах источника есть все поправки  и ссылка на переработанный скрипт:)

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

Работает только маршрут по умолчанию :) Меняем его на другой интерфейс, старый перестает передавать трафик.
И по этому, когда включаешь nexthop вырубаются сессии!

по умолчанию eth2
т.е. ping -I eth1 ya.ru тишина ping -I eth2 ya.ru пинги идут.
смотрел по tcpdump вообще никаких пакетов не выходит. через eth1

Пока что выход из положения, использовать squid с привязкой к eth1. Все бегает, но неустраивает.
« Последнее редактирование: 27 Октября 2009, 21:46:16 от Nesmit »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #32 : 27 Октября 2009, 21:52:13 »
Зачем маскарад, когда у тебя через eth бегает? (явно адреса не прыгают по собственному желанию)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #33 : 27 Октября 2009, 21:58:04 »
SNAT - тупо меняет ip на заранее известный
маскарад меняет ip на выходе, подставляя ip интерфейса. В чем тогда вопрос, если оба в POSTROUTING?
Когда пингуешь, видно какой локальный ip подставляется, но пакеты не идут.


Добавлю то что шлюз пингуется, с инета зайти на локальный ip, а вот с него ничего не уходит.

Оффлайн NRJ

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #34 : 28 Октября 2009, 19:30:35 »
Добрый вечер всем.
Не стал создавать отдельную тему, но все же очень нужна помощь. Ситуация такая: имеется две машины ubuntu 9.10, на обоих крутятся веб сервера. Первая машина имеет три сетевые карты.  Два интерфейса смотрят в интернет: eth1, eth2, так же на них подняты ppp0 и ppp1, для местной интранет сети, ну а eth0 смотрит в локалку:
(Нажмите, чтобы показать/скрыть)
С маршрутизацией вроде все как бы нормально:
мой /etc/network/interfaces
(Нажмите, чтобы показать/скрыть)
маршруты
(Нажмите, чтобы показать/скрыть)
Если что нитак, поправьте. И все же, хотелось бы первую машину настроить как шлюз для второго сервера и маленькой локалки из 5-8 компьютеров. Как коснулся iptables, понял, что для меня это темный лес.  :- Если кому не трудно, помогите разобраться с правилами, для первого сервера нужно открыть 80, c интерфейса ppp0, так как на нем тоже находится веб сервер. Для второго с IP-адресом 192.168.1.4 тоже веб сервера, нужно пробросить с ppp1 80 порт и исходящие с портов 20000-60000 что бы уходили на тот же ppp1. Для остальных 5-8 компьютеров c IP 192.168.1.5-192.168.1.8 в локальной сети, нужен интернет с интерфейса eth2 и местная сеть с ppp0, еще мои два сервера желательно, что бы были видны этим машинам.

Искал в интернете примеры такой конфигурации, и на этом форуме смотрел примеры, по ним увы не смог настроить все правила. А больше наверное запутался в них. Может кто нибудь сможет подробно описать правила для iptables, именно для моей конфигурации или написать готовый пример, и желательно с коментариями, что бы я понял.  Бьюсь несколько дней с этим, не могу никак сделать. :'(

Пользователь решил продолжить мысль 29 Октября 2009, 03:05:22:
Даже маны никто не послал курить  :-\ Помогите пжл.
« Последнее редактирование: 29 Октября 2009, 03:05:22 от NRJ »

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #35 : 29 Октября 2009, 09:40:16 »
во первых влез совсем не в ту тему. тебе чисто маршрутизация нужна.
во вторых задачка интересная, а опытных админов тут по пальцам можно перечесть.

В принципе все относительно просто, со стороны инета DNATим нужные порты во внутреннюю сеть.
а чтобы локалка пробегала через шлюз, достаточно добавить правила FORWARD, выпуск машин в инет MASQURADE на выходной интерфейс или SNAT, что больше нравится.

Я немного структурировал задачу:
Цитировать
И все же, хотелось бы первую машину настроить как шлюз для второго сервера и маленькой локалки из 5-8 компьютеров.

1. для первого сервера нужно открыть 80, c интерфейса ppp0, так как на нем тоже находится веб сервер.
2. Для второго с IP-адресом 192.168.1.4 тоже веб сервера, нужно пробросить с ppp1 80 порт и исходящие с портов 20000-60000 что бы уходили на тот же ppp1.
3.Для остальных 5-8 компьютеров c IP 192.168.1.5-192.168.1.8 в локальной сети, нужен интернет с интерфейса eth2 и местная сеть с ppp0, еще мои два сервера желательно, что бы были видны этим машинам.

1. 80 порт DNAT на внутренний ip.
2. анологично по 80 порту, 20т-60т просто DNAT.
3. SNAT/MASQURADE
Если я не прав, поправьте.

PS: поправил текст :)
« Последнее редактирование: 29 Октября 2009, 11:00:59 от Nesmit »

Оффлайн NRJ

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #36 : 30 Октября 2009, 20:25:48 »
В принципе все относительно просто, со стороны инета DNATим нужные порты во внутреннюю сеть.
а чтобы локалка пробегала через шлюз, достаточно добавить правила FORWARD, выпуск машин в инет MASQURADE на выходной интерфейс или SNAT, что больше нравится.

Я немного структурировал задачу:
Цитировать
И все же, хотелось бы первую машину настроить как шлюз для второго сервера и маленькой локалки из 5-8 компьютеров.

1. для первого сервера нужно открыть 80, c интерфейса ppp0, так как на нем тоже находится веб сервер.
2. Для второго с IP-адресом 192.168.1.4 тоже веб сервера, нужно пробросить с ppp1 80 порт и исходящие с портов 20000-60000 что бы уходили на тот же ppp1.
3.Для остальных 5-8 компьютеров c IP 192.168.1.5-192.168.1.8 в локальной сети, нужен интернет с интерфейса eth2 и местная сеть с ppp0, еще мои два сервера желательно, что бы были видны этим машинам.

1. 80 порт DNAT на внутренний ip.
2. анологично по 80 порту, 20т-60т просто DNAT.
3. SNAT/MASQURADE

Да, я читаю маны, вроде все просто, но примеров в интернете хороших пока не встречал. Из-за этого боюсь дров наломать, так как сервера рабочие. Но очень нужно все это реализовать и хотелось получить какую не какую, но все же помощь, на примере моей конфигурации.


Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #37 : 01 Ноября 2009, 10:55:22 »
в понедельник напишу, ок?

Оффлайн NRJ

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #38 : 02 Ноября 2009, 18:28:27 »
в понедельник напишу, ок?

Дождались понедельника.  :coolsmiley:

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #39 : 03 Ноября 2009, 10:53:06 »
Приболел чуток.
Цитировать
0.0.0.0         193.168.0.1     0.0.0.0         UG        0 0          0 eth2
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth1
а такое бывает? 2 default gw
ip route бы еще.
По описанию я несмог составить схему на 2й сервер и куда смотрят ppp интерфейсы

Цитировать
1. Для первого сервера нужно открыть 80, c интерфейса ppp0, так как на нем тоже находится веб сервер.
это как? почему он не открыт если его не закрывали?
Цитировать
2. Для второго с IP-адресом 192.168.1.4 тоже веб сервера, нужно пробросить с ppp1 80 порт и исходящие с портов 20000-60000 что бы уходили на тот же ppp1.
http://www.linuxcenter.ru/lib/articles/networking/iptables_portforward.phtml
# iptables -t nat -A PREROUTING -p tcp -i ppp1 --dport 80 -j DNAT --to-destination 192.168.1.4:80
# iptables -A FORWARD -i eth0 -d 192.168.1.4 -p tcp --dport 80 -j ACCEPT
для диапазона портов - port range

Цитировать
3.  Для остальных 5-8 компьютеров c IP 192.168.1.5-192.168.1.8 в локальной сети, нужен интернет с интерфейса eth2 и местная сеть с ppp0, еще мои два сервера желательно, что бы были видны этим машинам.
Инет можно включить так
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 193.168.0.254
echo "1" >  /proc/sys/net/ipv4/ip_forward
А почему не доступны компы?
PS: можно схемку по подробнее, а то она ограничена описанием только 1 сервера. Зато соединений туева куча, кто с кем не понятно.

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #40 : 06 Ноября 2009, 16:53:37 »
Все свои проблемы я решил.
Трафик гуляет по 2м провайдерам. Четко по прописанным меткам. Ушел я от балансировки nexthop, привязался четко к табличкам предварительно разбив пользователей на несколько подсетей.

Остался один вопрос, почему не работает маршрутизация на самом маршрутизаторе, если например для пингов задать принудительно интерфейс.

Если требуется приведу конфиги, только тогда придется оформлять в HowTo :)
PS: Всем спасибо, мной получен афигенный опыт в работе маршрутизатора.

Оффлайн badfiles

  • Участник
  • *
  • Сообщений: 230
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #41 : 10 Ноября 2009, 10:01:53 »
очень-очень нужно
еще такой в вопрос -- работает ли условный выбор маршрута для трафика, который исходит от самого маршрутизатора?
« Последнее редактирование: 10 Ноября 2009, 10:51:19 от badfiles »

Оффлайн Enkil-404

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #42 : 10 Ноября 2009, 16:08:21 »
Народ, я может чего не углядел в теме, но подскажите плз, как топик-стартер решил свою проблему?
(просто ситуация такая же)

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #43 : 10 Ноября 2009, 23:06:24 »
очень-очень нужно
еще такой в вопрос -- работает ли условный выбор маршрута для трафика, который исходит от самого маршрутизатора?
сам не знаю. Хотя я не метил пакеты от сервера. Но по маршрутизации все пакеты с конкретным ip должны уходить по родному интерфейсу.
завтра утром выложу все конфиги с проверками работы правил. Заодно порядок у себя наведу.

Пользователь решил продолжить мысль 11 Ноября 2009, 07:51:01:
Способ 1, который прижился.

Имеем 3 интерфейса:
eth0: 192.168.2.2 - локалка
eth1: 192.168.1.8 - интернет1 шлюз: 192.168.1.2
eth2: 192.168.0.8 - интернет2 шлюз: 192.168.0.2

192.168.161.0/24 - vpn сеть1.
192.168.163.0/24 - vpn сеть2.
В принципе pptp позволяет создавать сколько угодно сетей. Можно без сетей и просто по источнику метить пакеты.

Фаервол, приведу правила которые только включают интернет.
iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE
iptables -A POSTROUTING -t nat -o eth2 -j MASQUERADE
echo "1" >  /proc/sys/net/ipv4/ip_forward
echo "1" >  /proc/sys/net/ipv4/ip_dynaddr

Прописываем таблицы в iproute2
(Нажмите, чтобы показать/скрыть)

Загоняем правила в таблицы, допиленный копипаст:
(Нажмите, чтобы показать/скрыть)

Все.  Это первый способ. Замечу, что если вручную не задать на шлюзе маршрут, то пинги будут лететь по default маршруту, даже если задать интерфейс.

Второй способ.

(Нажмите, чтобы показать/скрыть)
Этот способ не прижился. Причина одна. 2 внешних ip адреса. Большинство сайтов не любят смену ip адресов при авторизации пользователей. По этому будут сильные проблемы с играми, денежными сервисами и соц сетями, почтой и т.д. Лекарство, поднимать по squid  на каждый интерфейс. 2 настроить на свой, а 3й будет балансировать трафик между 2мя верхними проксями. Останется только вручную задать маршруты на оставшиеся проблемные ресурсы. Торрентам в принципе пофигу :) Качать можно в 2 раза быстрее.

PS: Если вопросов нет, перенесу в отдельный раздел.
« Последнее редактирование: 11 Ноября 2009, 09:54:52 от Nesmit »

Оффлайн Enkil-404

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: IPROUTE2 + 2 провайдера
« Ответ #44 : 11 Ноября 2009, 16:51:29 »
Nesmit, вот спасибо!

есть один вопрос.


существует довольно большой скрипт правил iptables, прописывающий работу с одним провом(nat, опубликованный почтовый сервер, ограничение доступа извне к впн и ssh и много чего еще), нужно ли серьезное переделывание его или можно использовать ваш скрипт(есстественно переписанный под мои адреса и т.п.) и просто добавить к нему мой действующий? и как грамотнее можно это сделать?

Заранее спасибо!
ЗЫ если я правильно понимаю, то существующие правила для одного внешнего интерфейса надо будет написать еще раз для 2го?

Пользователь решил продолжить мысль 11 Ноября 2009, 18:49:02:
Товарищи убунтоводы, у меня к вам просьба


Постановка задачи
(Нажмите, чтобы показать/скрыть)

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

Сейчас скрипт выглядит так

создание таблиц
(Нажмите, чтобы показать/скрыть)

Сам скрипт
(Нажмите, чтобы показать/скрыть)

Возникли следующие вопросы, просьба помочь по возможности
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 11 Ноября 2009, 21:03:49:
?
« Последнее редактирование: 11 Ноября 2009, 21:03:51 от Enkil-404 »

 

Страница сгенерирована за 0.06 секунд. Запросов: 23.