Назад | Перейти на главную страницу

iptables блок 1 ip, нат

У меня есть сервер с 2-мя интерфейсами. небольшая сеть подключается к eth0 и выходит в интернет по eth1. Чтобы разрешить 1 ip для nat, я использую

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.23 -j SNAT --to-source=23.x.x.x

Я хотел бы добавить правило, которое позволяет одному ip делать нат и блокировать другие, уже существующие в iptables (без их удаления)

iptables -t nat -A POSTROUTING -o OUT_IF \! -s ip_sursa -j SNAT --to-source=x3.xxx.1xx.1xx -j DROP

должно сработать?

Или, чтобы разрешить только 1 IP-адрес для передачи через eth0 на eth1 и выполнить nat.

Не рекомендуется использовать DROP в таблице NAT. Лучше это сделать в таблице фильтров, если вы хотите запретить доступ к этим IP-адресам.

В противном случае вы можете использовать другое правило для NAT этих IP-адресов на другой общедоступный IP-адрес.

Обновить

Вот правила, которые вам нужно разрешить только для одного IP (192.168.0.100)

iptables -A FORWARD -o eth1 -s 192.168.0.100 -j ACCEPT
iptables -A FORWARD -o eth1 -s 192.168.0.0/24 -j DROP
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.100 -j SNAT --to-source=23.x.x.x