Date: Sun, 5 Aug 2001 08:51:17 +0000 (UTC)
From: Port22 <port22@kipt.kharkov.ua>
Newsgroups: fido7.ru.linux
Subject: [Linux] NAT через iptables
> Есть сервер с:
> eth0 - локальная сеть 192.168.0.0
> eth1 - выход в Интернет с реальным IP
> ppp - модемные соединения с локальными IP
>
> используется iptables v1.2.1a
>
> Задача - организовать выход в Инет с локалки и через модемы
>
> Вопросы:
> - С помощью iptables доступ к сервисам Инет можно организовать через
> маскарадинг или обязательно нужно наличие прокси на сервере для каждого
> сервиса и редирект на него?
Серверов не нужно, настраиваешь только маскарад
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 --out-interface eth1 -j SNAT --to-source $REAL_IP
> - Все ли пакеты можно выловить на сервере, т.е.:
> например ping c локальной машины (eth0) на сервер вылавливается
> iptables -t nat -A PREROUTING -p icmp
> -s 192.168.0.2 -d 192.168.0.1 -j DROP/ACCEPT
> а на любой другой в сети или Инетовский получается проходит мимо iptables?
> и другие пакеты аналогично?
Таблица NAT (-t nat) служит для изменения адресов (src/dst), для
фильтрации используется таблица filter (-t filter), вот в ней и фильтруй
что хочешь, но смотри, forward пакеты не проходят цепочки INPUT и OUTPUT.
> У кого есть рабочие настройки шлите, не откажусь :-)
iptables -P FORWARD DROP
iptables -N FFR 2>/dev/null
iptables -F FFR
iptables -A FORWARD -j FFR
# Разрешить доступ к почтовому серверу
iptables -A FFR -p tcp -s y.y.y.1 -d x.x.x.x -m multiport --dports 25,110 -j ACCEPT
......
# *** Все остальное, запретить ***
iptables -A FFR -m limit --limit 5/hour -j LOG --log-level notice
iptables -A FFR -j DROP