Перейти к содержимому
Калькуляторы

BGP + NAT

Добрый день!

Прошу вашей помощи.

Есть сервер с 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

так вот это правило с двумя аплинками не работает. Подскажите пожалуйста как это исправить.

 

Заранее вам очень благодарен

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нормальное решение, если ассиметрия в пределах одного маршрутизатора - все будет работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нормальное решение, если ассиметрия в пределах одного маршрутизатора - все будет работать.

спасибо!

Не подскажете как быть с пробросом портов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема по идее никак не связана с кол-вом апстримов...

Пакеты под критерий попадают?

iptables -L -n -v | grep 'tcp dpt:XXX'

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема по идее никак не связана с кол-вом апстримов...

Пакеты под критерий попадают?

iptables -L -n -v | grep 'tcp dpt:XXX'

нет, но с одним апстримом правило работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

нуу как вариант - второй апстрим фильтрует нужный вам порт (хотя такое сейчас уже редкость), попробуйте тоже правило с другим dst port.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не знаю как себя поведет когда запрос идет через один аплинк, а ответ приходит со второго.

Следите, чтобы 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 в 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)...

сейчас не могу сказать, надо будет ночью посмотреть

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.