umike Posted December 14, 2003 Posted December 14, 2003 Сеть на 5 машин ->фри-роутер->инет роутер на FreeBSD 4.8. Ipfilter пока простроен так (машина используется как полигон для обучения и экспериментов): pass in quick on rl0 from any to any pass in quick on rl1 from any to any делается NAT при помощи ipnat. сделано и работает: map rl0 192.168.0.0/26 -> х.х.х.242/32 НО! одновременно пинги на один и тот-же адрес с двух и более машин не ходят, а надо очень! Как лечить? Происходит это так: Запускаю на машине пинг - идет всё ок, в ipnat -l есть запись что 192.168.0.2<->x.x.x.x. Запускаю пинг на второй машине - Request time out. Смотрю tcpdump'ом что твоится на внутреннем и внешнем интерфейсах. - пинги первого компа на внешнем интерфейсе уходят с ip адресом источника х.х.х.242 (то есть натятся), а пинги со второго компа - с адресом 192.168.0.3. То есть он НЕ НАТЯТСЯ! Долго и упорно читал manы и рыл инет. Понимаю это так: роутер получает icmp пакет, меняет ему адрес источника на свой, отсылает через внешний интерфейс куда надо и делает у себя в таблице запись 192.168.0.2<->x.x.x.x. Теперь приходит ipmp echo request от второго компа - запись для x.x.x.x в таблице уже есть, значит надо увеличить номер порта. icmp протокол беспортовый - значит надо увеличить ip на 1. НО внешний ip только один! Почему-то думается, что пакет должен дропнуться, но он выходит наружу с исходным адресом. 192.168.0.x Естесственно в ответ - фиг. Ладно. Как сделать что-то типа map rl0 192.168.0.0/26 -> х.х.х.242/31 то есть отдать под NAT два внешних адреса? адреса .240, .241 .244 уже заняты другими машинами Поэтому делать map rl0 192.168.0.0/26 -> х.х.х.242/30 не корректно, а /31нельзя по-определению. Вообще в итоге хотелось бы получить распределение нагрузки между Х ip адресами не только по tcp/udp а вообще по всему траффику... т.е. что-то типа map rl0 192.168.0.0/26 -> х.х.х.242/32 round-robin map rl0 192.168.0.0/26 -> х.х.х.243/32 round-robin map rl0 192.168.0.0/26 -> х.х.х.245/32 round-robin но round-robin используется только в rdr в сочетании с ip:port Как это все-же реализовать? Помогите чайнику, а то зашел в тупик... добавление: убал машину .244, прописал map rl0 195.168.0.0/26 ->x.x.x.244/30 и в ifconfig добавил .245 и .246 Заработало! Пинги с двух машин пошли! НО! стоило начать пинг еще и с третьей - роутер умер напрочь.... :((((((((( Комментарии? Вставить ник 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.