LINUX.ORG.RU
решено ФорумAdmin

NAT и несколько внешних интерфейсов

 , ,


0

1

Как?

Сейчас у меня нечто вроде:

-A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 10.161.32.67

Но иногда мой провайдер может меня подвести и тогда внешним интерфейсом временно станет например wlan0 и тогда вся домашняя сеть отваливается от интернета. Понятно что можно поменять правило. Можно даже скрипт соорудить... А как нибудь правилами разрулить не выйдет?

★★★★★

Ответ на: комментарий от vel

"-A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 ! -o eth1 -j MASQUERADE"

А откуда взялся eth1? Ты прочитал стартовый пост? Интерфейс меняется.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

а ты обратил внимание на "!" перед "-o eth1" ?

Смысл прост - натить/маскарадить можно только то, что идет за пределы твоей сети, т.е. не в локальную сеть. Это можно описать двумя путями

1 - указать имена интерфейсов через которые идет внешний трафик ( или исключить локальный интерфейс )

2 - указать диапазон локальных адресов, куда не нужно маскарадить натить

В примере я указал оба варианта. Какой из них использовать - решай сам. Я бы в твоем случае вообще маскарадил все идущее не в локальную сеть т.е. всего одно правило

"-A POSTROUTING -s localnet ! -d localnet -j MASQUERADE"

при нынешней производительности компов разница между snat/masquerade незаметна.

Главное, чтоб dgw при этом указывал на нужное устройство. Непонятно что происходит когда отваливается первый провайдер.

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от vel

Они не постоянно подключены. Я запасных подрубаю вручную...

а ты обратил внимание на "!" перед "-o eth1" ?

Нет. Был не прав. Извини и спасибо. Да это решение.

Suntechnic ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.