Два интернет канала

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Два интернет канала

Сообщение serg_sk »

С помощью чего можно разделить два интернет канала на одном сервере?
Задача дать определенным юзерам инет с одного канала, а другим с другого. С помощью чего сделать и в какую сторону рыть?
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Аватара пользователя
gordon01
Сообщения: 216

Re: Два интернет канала

Сообщение gordon01 »

Если надо просто распределить, то опция random у iptables.
Но как я понял, нужно определённым юзерам...
Тоже можно решить iptables. Вобщем всё по идее сводиться к куче правил.
Т.е если источник (-s) такой-то SNAT на такой-то интерфейс(но интерфейс там вроде нельзя писать, тогда пишем ip)
У сквидгарда тоже есть функции для реализации данной задачи.
Вообще странно, что модератор задаёт такой обычный Linux-вопрос.
«Hello World!» 17 errors, 31 warnings
Mandriva Cooker
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Re: Два интернет канала

Сообщение serg_sk »

Через SNAT не получается.

Код: Выделить всё

iptables -t nat -I POSTROUTING 1 -s 172.16.23.125 -o ppp1 -j SNAT --to-source 82.207.123.180
iptables -t nat -I POSTROUTING 2 -s 172.16.23.0/24 -d ! 172.16.23.0/24 -o ppp0 -j MASQUERADE

И машина 172.16.23.125 идет по ppp0.

Код: Выделить всё

router ~ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
195.5.5.160     *               255.255.255.255 UH    0      0        0 ppp1
kp.km.ua        *               255.255.255.255 UH    0      0        0 ppp0
172.16.23.0     *               255.255.255.0   U     0      0        0 eth0
192.168.10.0    *               255.255.255.0   U     0      0        0 dvb0_0
192.168.189.0   *               255.255.255.0   U     0      0        0 eth1
loopback        *               255.0.0.0       U     0      0        0 lo
default         *               0.0.0.0         U     0      0        0 ppp0

Как видите default идет через ppp0. 82.207.123.180 мой внешний ip по ppp1.
Тут надо делать через iptables -j ROUTE либо с помощью iproute2 либо через zebra. Вот я и спрашиваю, кто с таким сталкивался и как это _культурно_ сделать :)

Вот если прописать на роутере route add ya.ru dev ppp1, то тогда все запросы пойдут по интерфейсу ppp1, причем это не зависит от того, что прописано в POSTROUTING.


P.S. gordon01 модераторы тоже люди ;)
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Аватара пользователя
gordon01
Сообщения: 216

Re: Два интернет канала

Сообщение gordon01 »

iptables -t nat -I POSTROUTING 1 -s 172.16.23.125 -o ppp1 -j SNAT --to-source 82.207.123.180

А почему не
iptables -t nat -A POSTROUTING -s 172.16.23.125 -j SNAT --to-source 82.207.123.180
где 82.207.123.180 - интерфейс, куда пускается пакет(т.е ip ppp1)
iptables -t nat -I POSTROUTING 2 -s 172.16.23.0/24 -d ! 172.16.23.0/24 -o ppp0 -j MASQUERADE

-d ! 172.16.23.0/24 писать не обязательно.
-o ppp0 - у него динамический ip?
И почему снова -I POSTROUTING 2 пакет точно может попать в цепочку "2"?
route лучше не пользоваться, точнее не трогать.
А echo "1" > /proc/sys/net/ipv4/ip_forward не забыли?
«Hello World!» 17 errors, 31 warnings
Mandriva Cooker
Спасибо сказали:
Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: Два интернет канала

Сообщение Angel_13th »

serg_sk сколько не слышал, но для того что бы это сделать красиво и качественно, люди обычно советуют зебру, а выбор зависит от тебя!
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Re: Два интернет канала

Сообщение serg_sk »

(gordon01 @ Jun 29 2006, в 17:28) писал(а):А почему не
iptables -t nat -A POSTROUTING -s 172.16.23.125 -j SNAT --to-source 82.207.123.180
где 82.207.123.180 - интерфейс, куда пускается пакет(т.е ip ppp1)

:) Собственно между моим и вашим правилом разницы нету. Делает по сути тоже самое ;)
(gordon01 @ Jun 29 2006, в 17:28) писал(а):-d ! 172.16.23.0/24 писать не обязательно.
-o ppp0 - у него динамический ip?

Может и не обязательно, но суть того что происходит оно не меняет.
(gordon01 @ Jun 29 2006, в 17:28) писал(а):И почему снова -I POSTROUTING 2 пакет точно может попать в цепочку "2"?

Какая цепочка 2? :) Лоль, идите покурите man iptables. -I POSTROUTING 2 значит добавить правило в цепочку POSTROUTING и поставить его вторым в даной цепочке.
(gordon01 @ Jun 29 2006, в 17:28) писал(а):route лучше не пользоваться, точнее не трогать.

Очень интересный совет. Может дефолтные маршруты тоже чем-то другим прописывать, а не route'ом?
(gordon01 @ Jun 29 2006, в 17:28) писал(а):А echo "1" > /proc/sys/net/ipv4/ip_forward не забыли?

Не забыли :)
(Angel @ Jun 29 2006, в 21:12) писал(а):serg_sk сколько не слышал, но для того что бы это сделать красиво и качественно, люди обычно советуют зебру, а выбор зависит от тебя!

Да я тоже о ней много слышал :) Если ничего не придумаю заюзаю зебру :)
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Два интернет канала

Сообщение sash-kan »

serg_sk
просто таки классическая задачка для iproute.
http://www.opennet.ru/docs/RUS/LARTC/c322....CEPOLICYROUTING
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
kvs
Сообщения: 84

Re: Два интернет канала

Сообщение kvs »

1. Создать две таблицы маршрутизации
2. Использовать маркировку пакетов в iptables.
Все красиво, и работает.
Все остальное фигня.
Спасибо сказали:
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Re: Два интернет канала

Сообщение serg_sk »

sash-kan угу. Сделал уже давно, после прочтения: http://gazette.linux.ru.net/rus/articles/lartc/index.html
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали: