2 интернет канала (разрулить)

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Аватара пользователя
LZOmgi
Сообщения: 67
ОС: FreeBSD Current

2 интернет канала

Сообщение LZOmgi »

У меня 2 провайдера.
Один хочу пустить на torrent который установлен локально, а второй раздавать NAT-ом.

Раньше все нормально работало, использовал route * * чтобы направить на определенный IP через поеределенный канал.
А теперь... и

к примеру было так:
/etc/rc.firewall
.....
/sbin/ipfw add 200 divert 22440 all from any to any via inet0
/sbin/ipfw add 201 divert 22441 all from any to any via inet1
....
natd -interface inet0 -p 22440
natd -interface inet1 -p 22440
route add 45.65.0.0/16 inet0
route add 0.0.0.0/0 inet1


Но так уже непойдет...
Как сказать роутеру пускать локальный трафик на один пров, а NAT на другой, при этом часть NAT трафика пускать все-же на первый?
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1100
ОС: freeBSD

Re: 2 интернет канала

Сообщение arachnid »

LZOmgi писал(а):
13.11.2008 15:49
У меня 2 провайдера.
Один хочу пустить на torrent который установлен локально, а второй раздавать NAT-ом.

Раньше все нормально работало, использовал route * * чтобы направить на определенный IP через поеределенный канал.
А теперь... и

к примеру было так:
/etc/rc.firewall
.....
/sbin/ipfw add 200 divert 22440 all from any to any via inet0
/sbin/ipfw add 201 divert 22441 all from any to any via inet1
....
natd -interface inet0 -p 22440
natd -interface inet1 -p 22440
route add 45.65.0.0/16 inet0
route add 0.0.0.0/0 inet1


Но так уже непойдет...
Как сказать роутеру пускать локальный трафик на один пров, а NAT на другой, при этом часть NAT трафика пускать все-же на первый?

на основании чего будет раскидываться трафик?
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали:
Аватара пользователя
LZOmgi
Сообщения: 67
ОС: FreeBSD Current

Re: 2 интернет канала

Сообщение LZOmgi »

На основании того что все кто сидят под NAT
Т.е. 192.168.0.0/24 (кроме себя самого)
будут идти через дрогой провайдер 1

Трафик с самого сервера будет идти на дешовый провайдер 2.

(+ некоторые нюансы, такие как: часть NAT трафика должна идти через 2 дешовый провайдер, под НАТом еще есть и пользователь 1 доргого провайдера)





И я уже теряю деньги, т.к. трафик 2-го дешового провайдера простаивает, за него плачу я а не пользователи. (проблема связана с торрентом, который не могу нормально поставить, но это уже другой разговор :))
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1100
ОС: freeBSD

Re: 2 интернет канала

Сообщение arachnid »

я не к тому - меня интересовали условия, на основании которых был бы разделен трафик. в общем - вместо условия в divert'e all пишете то, что вам необходимо.
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали:
Аватара пользователя
LZOmgi
Сообщения: 67
ОС: FreeBSD Current

Re: 2 интернет канала

Сообщение LZOmgi »

например так?

/sbin/ipfw add 201 divert 22441 all from me to any via inet1
/sbin/ipfw add 200 divert 22440 all from 192.168.0.0/24 to any via inet0


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

И то что шлюз поумолчанию смотрит только в одну сторону роли не играет?

Пробовать сильно неполучается, т.к. пользователи жалуются за отсутвие инета, а поночам мне тоже хочется спать.
Спасибо сказали:
Аватара пользователя
arachnid
Модератор
Сообщения: 1100
ОС: freeBSD

Re: 2 интернет канала

Сообщение arachnid »

а маршруты прописаны? и как?
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик
Спасибо сказали:
KES2
Сообщения: 2

Re: 2 интернет канала

Сообщение KES2 »

очень просто
Есть пров1 rl0, пров2 rl1
ставишь дефолт маршрут через пров1

для трафика который out xmit rl0
divert a all from 192.168.0.0/24 out xmit rl0
fwd <GW OF prov2> from <IP OF prov2> to any out xmit rl0
divert b all from any to any


и на интерфейсе rl1 не забыть раз натить трафик
divert a all from any to <IP OF prov2> in recv rl1

где divert a - диверт на natd на rl1
divert b - rl0

Почитать на досуге:
http://kes.net.ua/softdev/advanced_firewall.html
Спасибо сказали: