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

NAT два диапазона адресов Шквал ARP запросов

ОС: CentOS 5

 

Имеется 3 сетевых интерфейса.

 

1 - Локальная сеть 172.16.0.0/16 интерфейс eth0

 

2. Провайдер 1 выдал сеть 10.0.0.0/24 интерфейс eth1

 

3. Провайдер 2 выдал сеть 10.0.1.0/24 интерфейс eth2

 

 

Хочется часть сети 172.16.0.0/17 NAT-ить через провайдера 1, а вторую часть сети 172.16.128.0/17 через провайдера 2

 

что сделал

 

 

ip rule add from 172.16.0.0/17 to 0/0 table 100 pref 100

ip rule add from 172.16.128.0/17 to 0/0 table 200 pref 200

 

ip route add default dev eth1 table 100

ip route add default dev eth2 table 200

 

ip route flush cache

 

 

Все работает (пакеты идут в оба канала, NAT-ятся своими адресами), НО на обоих интерфейсах наблюдаю (tcpdump -i eth1 -nn arp) шквал ARP запрососв от моего роутера к шлюзам провайдеров, этот шквал ARP валит оборудование обоих провайдеров.

 

arp реквесты идут от имени моего роутера для всех адресов в инете.

 

Что я настроил не так ? Почему роутер пытается узнавать ARP адреса всего инета вместо того, чтобы просто пихать пакеты в нужный интерфейс объявленный как default gateway для нужной сети ?

Изменено пользователем _INF_

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


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

покажите как сделан NAT уверен что в интерфейс.

Изменено пользователем pliskinsad

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


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

-A POSTROUTING -o eth1 -s 172.16.0.0/17 -j SNAT --to 10.0.0.1-254

-A POSTROUTING -o eth2 -s 172.16.128.0/17 -j SNAT --to 10.0.1.1-254

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


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

ip addr ls dev eth2

ip addr ls dev eth1

?

 

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


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

Попробуйте оставить на интерфейсе один адрес, и занатить всю свою подсеть на него.

Изменено пользователем pliskinsad

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


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

А если поробывать сделать NAT средствами ip route?

Как бы логика подсказывает, что способ организации NAT здесь не при чем.

 

1. объявляем 10.0.0.1 default gw в таблице main, затем создаем правила на вторую половину диапазона 172.16.128.0/17

 

ip rule add from 172.16.128.0/17 to 0/0 table 200 pref 200

ip route add default dev eth2 table 200

 

и шквал ARP идет только в провайдера 2.

 

я предполагаю, что ARP вызван использованием source routing .

 

Есть люди которые используют подобную схему ?

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


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

ip addr ls dev eth2

ip addr ls dev eth1

?

eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 10000

link/ether 00:1b:21:3e:ae:28 brd ff:ff:ff:ff:ff:ff

inet 10.10.10.0/30 brd 10.10.10.3 scope global eth1

 

eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 10000

link/ether 00:1b:21:3e:ae:28 brd ff:ff:ff:ff:ff:ff

inet 10.10.20.0/30 brd 10.10.20.3 scope global eth2

 

Подсети 10.10.10.0/30 и 10.10.20.0/30 выдали провайдеры и сказали что через них они роутят 10.0.0.0/24 и 10.0.1.0/24 соответственно.

 

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


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

ip route add via 10.10.10.2 dev eth1 table 100

ip route add via 10.10.20.2 dev eth2 table 200

 

где 10.10.10.2 и 10.10.20.2 шлюзы провайдеров

 

вместо

 

ip route add default dev eth1 table 100

ip route add default dev eth2 table 200

 

помогло.

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


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

Join the conversation

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

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

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

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

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

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

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