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

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)...

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

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас