Jump to content

Recommended Posts

Posted

Сеть на 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

Заработало! Пинги с двух машин пошли! НО! стоило начать пинг еще и с третьей - роутер умер напрочь.... :(((((((((

Комментарии?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.