anderson_alchevsk Posted June 19, 2012 Posted June 19, 2012 Добрый день! Прошу вашей помощи. Есть сервер с quagga на два аплинка со своим PI блоком, он же занимается маршрутизацией. До появления второго аплинка натилось так: -A POSTROUTING -s 10.2.0.0/21 -o eth0.(uplink1) -j SNAT --to-source XXX.XXX.XXX.1 -A POSTROUTING -s 10.2.8.0/21 -o eth0.(uplink1) -j SNAT --to-source XXX.XXX.XXX.2 и т.д. После подключения второго провайдера пытался добавить дублирующие правила: -A POSTROUTING -s 10.2.0.0/21 -o eth0.(uplink2) -j SNAT --to-source XXX.XXX.XXX.1 -A POSTROUTING -s 10.2.8.0/21 -o eth0.(uplink2) -j SNAT --to-source XXX.XXX.XXX.2 и т.д. Вроде работает, но сомневаюсь что это правильное решение, не знаю как себя поведет когда запрос идет через один аплинк, а ответ приходит со второго. И еще есть проброс портов во внутреннюю сеть, например: -A PREROUTING -p tcp -m tcp --dport ХХХ -j DNAT --to-destination ХХХ.ХХХ.ХХХ.100 так вот это правило с двумя аплинками не работает. Подскажите пожалуйста как это исправить. Заранее вам очень благодарен Вставить ник Quote
bos9 Posted June 19, 2012 Posted June 19, 2012 Нормальное решение, если ассиметрия в пределах одного маршрутизатора - все будет работать. Вставить ник Quote
anderson_alchevsk Posted June 19, 2012 Author Posted June 19, 2012 Нормальное решение, если ассиметрия в пределах одного маршрутизатора - все будет работать. спасибо! Не подскажете как быть с пробросом портов? Вставить ник Quote
bos9 Posted June 19, 2012 Posted June 19, 2012 Проблема по идее никак не связана с кол-вом апстримов... Пакеты под критерий попадают? iptables -L -n -v | grep 'tcp dpt:XXX' Вставить ник Quote
anderson_alchevsk Posted June 19, 2012 Author Posted June 19, 2012 Проблема по идее никак не связана с кол-вом апстримов... Пакеты под критерий попадают? iptables -L -n -v | grep 'tcp dpt:XXX' нет, но с одним апстримом правило работает Вставить ник Quote
bos9 Posted June 19, 2012 Posted June 19, 2012 нуу как вариант - второй апстрим фильтрует нужный вам порт (хотя такое сейчас уже редкость), попробуйте тоже правило с другим dst port. Вставить ник Quote
Ilya Evseev Posted June 20, 2012 Posted June 20, 2012 не знаю как себя поведет когда запрос идет через один аплинк, а ответ приходит со второго. Следите, чтобы rp_filter в sysctl был выключен. В некоторых дистрибутивах он по умолчанию включен. есть проброс портов во внутреннюю сеть, например: -A PREROUTING -p tcp -m tcp --dport ХХХ -j DNAT --to-destination ХХХ.ХХХ.ХХХ.100 так вот это правило с двумя аплинками не работает. Подскажите пожалуйста как это исправить. 1) Хорошо бы добавить сюда "-d ВнешнийIPадрес". 2) Правило в FORWARD есть? Если да, то как выглядит? 3) Что показывает tcpdump на внешнем и внутреннем интерфейсах? 4) Что показывают счётчики правил iptables? Вставить ник Quote
anderson_alchevsk Posted June 21, 2012 Author Posted June 21, 2012 не знаю как себя поведет когда запрос идет через один аплинк, а ответ приходит со второго. Следите, чтобы rp_filter в sysctl был выключен. В некоторых дистрибутивах он по умолчанию включен. есть проброс портов во внутреннюю сеть, например: -A PREROUTING -p tcp -m tcp --dport ХХХ -j DNAT --to-destination ХХХ.ХХХ.ХХХ.100 так вот это правило с двумя аплинками не работает. Подскажите пожалуйста как это исправить. 1) Хорошо бы добавить сюда "-d ВнешнийIPадрес". 2) Правило в FORWARD есть? Если да, то как выглядит? 3) Что показывает tcpdump на внешнем и внутреннем интерфейсах? 4) Что показывают счётчики правил iptables? за rp_filter спасибо честно говоря про него и не подумал 1) не совсем понятно зачем. 2) #eth1 - внутренняя сеть -A FORWARD -s xxx.my.pi.0/27 -i eth1 -o eth0.(uplink1) -j ACCEPT -A FORWARD -d xxx.my.pi.0/27 -i eth0.(uplink1) -o eth1 -j ACCEPT -A FORWARD -s xxx.my.pi.0/27 -i eth1 -o eth0.(uplink2) -j ACCEPT -A FORWARD -d xxx.my.pi.0/27 -i eth0.(uplink2) -o eth1 -j ACCEPT 3)... 4)... сейчас не могу сказать, надо будет ночью посмотреть Вставить ник 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.