LINUX.ORG.RU

История изменений

Исправление lext55, (текущая версия) :

Вот возьмем классическую схему:

LAN: 192.168.0.1/24 WAN: 1.1.1.1/30 (Static IP)

По умолчанию во всех таблицах ACCEPTED.

Чтобы расшарить интернет я делаю

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 1.1.1.1

ВСЕ! этого достаточно.

Теперь идем дальше мне требуется выдать доступ к интернету только отдельным IP адресам.

Поэтому я запрещаю пересылку пакетов по умолчанию

iptables -P FORWARD DROP

И далее уже рулю в таблице FORWARD запрещающими и разрешающими правилами.

#Пользователю с IP 192.168.0.10 - можно
iptables -A FORWARD -s 192.168.0.10/32 -j ACCEPT
#Пользователю с IP 192.168.0.20 - можно
iptables -A FORWARD -s 192.168.0.10/32 -j ACCEPT

Для всех остальных сработает FORWARD DROP по-умолчанию.

Но вот если я начну писать правила вот так

iptables -t nat -A POSTROUTING -s 192.168.0.10/32 -j SNAT --to-source 1.1.1.1
iptables -t nat -A POSTROUTING -s 192.168.0.20/32 -j SNAT --to-source 1.1.1.1

То получу кучу хейта о том что таблица nat POSTROUTING не предназначена для запрещающих/разрешающих правил, она не для этого.

ЧЯДНТ?

Исходная версия lext55, :

Вот возьмем классическую схему:

LAN: 192.168.0.1/24 WAN: 1.1.1.1/30 (Static IP)

По умолчанию во всех таблицах ACCEPTED.

Чтобы расшарить интернет я делаю

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 1.1.1.1

ВСЕ! этого достаточно.

Теперь идем дальше мне требуется выдать доступ к интернету только отдельным IP адресам.

Поэтому я запрещаю пересылку пакетов по умолчанию

iptables -P FORWARD DROP

И далее уже рулю в таблице FORWARD запрещающими и разрешающими правилами.

#Пользователю с IP 192.168.0.10 - можно
iptables -A FORWARD -s 192.168.0.10/32 -j ACCEPT
#Пользователю с IP 192.168.0.20 - можно
iptables -A FORWARD -s 192.168.0.10/32 -j ACCEPT

Для всех остальных сработает FORWARD DROP по-умолчанию.

Но вот если я начну писать правила вот так

iptables -t nat -A POSTROUTING -s 192.168.0.10/32 -j SNAT --to-source 1.1.1.1
iptables -t nat -A POSTROUTING -s 192.168.0.20/32 -j SNAT --to-source 1.1.1.1

То получу кучу хейта о том что таблица nat POSTROUTING не предназначена для запрещающих/разрешающих правил, она не для этого.