sadmitry Posted February 1, 2006 Posted February 1, 2006 Есть FreeBSD-box. Три сетевухи. Одна смотрит на прова (ADSL), две других - в две клиентские подсети. Провайдер выделил пул реальных IP адресов. Допустим, 1.1.1.0/24 - isp net 192.168.1.0/24 - сеть клиента 1 192.168.2.0/24 - сеть клиента 2 В будущем возможно увеличение кол-ва клиентов, на клиентские свичи с рутера прокинем 802.1q транк. Сейчас прописано: divert 8668 ip from 192.168.1.0/24 to not 192.168.1.0/24 out xmit xl1 divert 8669 ip from 192.168.2.0/24 to not 192.168.2.0/24 out xmit xl1 divert 8668 ip from not 192.168.1.0/24 to 1.1.1.1 in recv xl1 divert 8669 ip from not 192.168.2.0/24 to 1.1.1.2 in recv xl1 Сделано так для удобства разделения трафика и удобного его учета (провайдер присылает счет по IP адресам). Меня смущают несколько корявые правила ipfw. Пока только две клиетские подсети, с этим можно смириться, но когда их будет 5... Этим будет очень трудно рулить. Смущает не кол-во правил, а эти to not 192.168... Да, клиенты из разных подсетей друг дружку не видят (это отключено в правилах выше). Пойдет ли в данном случае что-то вроде этого: divert 8668 ip from 192.168.1.0/24 to any out xmit xl1 divert 8669 ip from 192.168.2.0/24 to any out xmit xl1 divert 8668 ip from not 192.168.1.0/24 to 1.1.1.1 in recv xl1 divert 8669 ip from not 192.168.2.0/24 to 1.1.1.2 in recv xl1 Вставить ник Quote
Fl@sh Posted February 7, 2006 Posted February 7, 2006 А не проще ли заменить все это на divert 8668 ip from 192.168.1.0/24 via xl1 ? не совсем понятно зачем divert 8668 ip from 192.168.1.0/24 to not 192.168.1.0/24 out xmit xl1 divert 8669 ip from 192.168.2.0/24 to not 192.168.2.0/24 out xmit xl1 Проще сделать диверт к примеру divert 8668 ip from any to any via интр в сторону прова. Т.е. весь трафик в инет дивертить. А дальше рулить подсетями уже внутри. Вставить ник Quote
sadmitry Posted February 7, 2006 Author Posted February 7, 2006 Fl@sh, Я уже писал, что пров считает по IP куда/откуда и сколько. Мне нужно, чтобы траффик от разных клиентов исходил от разных IP. Для этого и сделан такой хитрый NAT. Просто для упрощения расчетов с провом. Да, я считаю траф по клиентским IP, но пров-то считает по внешним. Вставить ник Quote
Fl@sh Posted February 8, 2006 Posted February 8, 2006 ну а разве нельзя так сделать ipfw add 1 ip from 192.168.1.0/24 to ip_prov in out xmit xl1 ipfw add 2 ip from ip_prov to 192.168.1.0/24 in recv xl1 пров то с тебя будет снимать с общего ip трафик. А ты сможешь внутри себя обсчитывать клиентов. Вставить ник Quote
sadmitry Posted February 8, 2006 Author Posted February 8, 2006 Еще раз читаем внимательно - у меня не 1 внешний IP, а сеть /24 Объясняю еще раз для тех, кто в танке: Задача поделить траффик от разных клиентских сеток на разные внешние IP адреса. Зачем так сделано, читать выше Fl@sh, По вашему получится, что трафик перемешается, так как будет исходить и приходить от одного IP. Перечитайте еще раз начало поста, пожалуйста :-) Вставить ник Quote
ToSHiC Posted February 8, 2006 Posted February 8, 2006 можно заюзать pf, тогда всё будет легко и просто nat on xl1 from 192.168.1.0/24 to !192.168.0.0/24 -> 1.1.1.101 nat on xl1 from 192.168.2.0/24 to !192.168.0.0/24 -> 1.1.1.102 nat on xl1 from 192.168.3.0/24 to !192.168.0.0/24 -> 1.1.1.103 и т.д. Вставить ник Quote
sadmitry Posted February 8, 2006 Author Posted February 8, 2006 ToSHiC, я в pf не силен, но спасибо за наводку, попробую. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.