С помощью чего можно разделить два интернет канала на одном сервере?
Задача дать определенным юзерам инет с одного канала, а другим с другого. С помощью чего сделать и в какую сторону рыть?
Два интернет канала
Модераторы: SLEDopit, Модераторы разделов
-
- Бывший модератор
- Сообщения: 2749
- Статус: <3 Anime
- ОС: Gentoo Linux <3
-
- Сообщения: 216
Re: Два интернет канала
Если надо просто распределить, то опция random у iptables.
Но как я понял, нужно определённым юзерам...
Тоже можно решить iptables. Вобщем всё по идее сводиться к куче правил.
Т.е если источник (-s) такой-то SNAT на такой-то интерфейс(но интерфейс там вроде нельзя писать, тогда пишем ip)
У сквидгарда тоже есть функции для реализации данной задачи.
Вообще странно, что модератор задаёт такой обычный Linux-вопрос.
Но как я понял, нужно определённым юзерам...
Тоже можно решить iptables. Вобщем всё по идее сводиться к куче правил.
Т.е если источник (-s) такой-то SNAT на такой-то интерфейс(но интерфейс там вроде нельзя писать, тогда пишем ip)
У сквидгарда тоже есть функции для реализации данной задачи.
Вообще странно, что модератор задаёт такой обычный Linux-вопрос.
«Hello World!» 17 errors, 31 warnings
Mandriva Cooker
Mandriva Cooker
-
- Бывший модератор
- Сообщения: 2749
- Статус: <3 Anime
- ОС: Gentoo Linux <3
Re: Два интернет канала
Через SNAT не получается.
И машина 172.16.23.125 идет по 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 модераторы тоже люди
Код: Выделить всё
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 модераторы тоже люди

-
- Сообщения: 216
Re: Два интернет канала
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
Mandriva Cooker
-
- Сообщения: 1164
- Статус: ...-oo=ll=oo-...
- ОС: Gentoo
Re: Два интернет канала
serg_sk сколько не слышал, но для того что бы это сделать красиво и качественно, люди обычно советуют зебру, а выбор зависит от тебя!
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
-
- Бывший модератор
- Сообщения: 2749
- Статус: <3 Anime
- ОС: Gentoo Linux <3
Re: Два интернет канала
(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 сколько не слышал, но для того что бы это сделать красиво и качественно, люди обычно советуют зебру, а выбор зависит от тебя!
Да я тоже о ней много слышал :) Если ничего не придумаю заюзаю зебру :)
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Два интернет канала
serg_sk
просто таки классическая задачка для iproute.
http://www.opennet.ru/docs/RUS/LARTC/c322....CEPOLICYROUTING
просто таки классическая задачка для iproute.
http://www.opennet.ru/docs/RUS/LARTC/c322....CEPOLICYROUTING
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Сообщения: 84
Re: Два интернет канала
1. Создать две таблицы маршрутизации
2. Использовать маркировку пакетов в iptables.
Все красиво, и работает.
Все остальное фигня.
2. Использовать маркировку пакетов в iptables.
Все красиво, и работает.
Все остальное фигня.
-
- Бывший модератор
- Сообщения: 2749
- Статус: <3 Anime
- ОС: Gentoo Linux <3
Re: Два интернет канала
sash-kan угу. Сделал уже давно, после прочтения: http://gazette.linux.ru.net/rus/articles/lartc/index.html