Ru-Board.club
← Вернуться в раздел «UNIX»

» Два шлюза linux в одной сети!

Автор: Brjke
Дата сообщения: 13.01.2011 09:41
В сети 192.168.1.0/24 имеются два рабочих шлюза линукс rh. Первый 192.168.1.1(он же является дефолтным) и второй 192.168.1.2 . Задача стоит такая... Если пользователь у которого ip 192.168.1.10 стучится на 94.159.22.23 по порту 80, то отправить его по этому адрессу через шлюз 192.168.1.2. Нужна помощь!
Автор: Alukardd
Дата сообщения: 13.01.2011 15:07
Brjke
можно попробовать так:
ssh -f -N -R 888:94.159.22.23:80 root@192.168.1.2
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.10 -p tcp -d 94.159.22.23 --dport 80 -j REDIRECT --to-port 888

как-то так...

у меня только сомнения по поводу ключа -R, возможно его придется заменить на -g -L.
Автор: Viewgg
Дата сообщения: 14.01.2011 05:58
Alukardd
Через SSH-туннель на второй шлюз - это жестко.
Автор: nick0001
Дата сообщения: 14.01.2011 09:56
вам в LARTC, "Глава 4. Правила - база политик маршрутизации."
Автор: Alukardd
Дата сообщения: 14.01.2011 11:10
Viewgg
а шо делать...
костыли - это мой профиль))) Жизнь вынудила к постоянному созданию костылей. Когда много чего впервые настраиваешь идеальностью и не пахнет, вот потом и довожу свои творения до ума костылями

nick0001
по мне так уж лучше через ssh) чем из-за 1 сайта правил городить... к тому же я что-то не очень вдупляю как это можно реализовать. Кроме как использовать таблицы в ip route add. Но там нету правил для dport.
А в tc я не знаю как перекинуть пакет на другой шлюз(вместо провайдера указать 2 сервак).
Автор: Brjke
Дата сообщения: 14.01.2011 11:30
спасибо за ответы, буду пробывать
Автор: nick0001
Дата сообщения: 14.01.2011 12:28
Brjke,

вообще, роутинга по портам (как в твоем случае по 80-му порту), насколько я знаю нет. Поэтому роутить тут можно только на основании пары src / dst , без указания портов. Хотя применительно к linux, в netfilter есть ROUTE ext... (допишу позже, обед). extension, который как раз может быть использован для выбора маршрутизатора по правилам netfilter (читай iptables).
Автор: dekstero4eg
Дата сообщения: 17.01.2011 10:03
nick0001

Цитата:
вообще, роутинга по портам (как в твоем случае по 80-му порту), насколько я знаю нет.

само собой нет, это разные уровни сетевой модели, роутинг на сетевом уровне осуществляется.

А автору можно посоветовать поднять на 192.168.1.2 проксик, например на порту 3128. А на дефолтном шлюзе редиректить нужные запросы на этот самый проксик, в pf это выглядело бы так:
rdr on $int_if proto tcp from 192.168.1.10 to 94.159.22.23 port 80 -> 192.168.1.2 port 3128

Думаю, iptables такое тоже умеет
Автор: HEKTOPaul
Дата сообщения: 17.01.2011 11:07
Brjke

man iptables
/ MARK

+

man ip
/ fwmark


Добавлено: прошу прощения, но не углядел, что 2 роутера, а не 2 интерфейса на одном. Поэтому мой совет, как говорится, мимо кассы...
Автор: dekstero4eg
Дата сообщения: 17.01.2011 11:32
кстати, щас что-то подумалось...
а не судьба на компьютере 192.168.1.10 прописать:
route add 94.159.22.23/32 192.168.1.2
???
Автор: nick0001
Дата сообщения: 17.01.2011 14:27
dekstero4eg, это просто роутинг (по destination IP) а ему по порту надо.
Автор: dekstero4eg
Дата сообщения: 17.01.2011 17:20
nick0001

Цитата:
это просто роутинг (по destination IP) а ему по порту надо.

Я понимаю.
Просто что, на 94.159.22.23 будут ещё идти какие-то запросы, акромя на 80 порт???
Автор: nick0001
Дата сообщения: 17.01.2011 18:18
откуда я знаю, задайте вопрос автору, а не мне....

Страницы: 1

Предыдущая тема: Squid+SAMS+Rejik


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.