IPtables: не работает DNAT
Политика по умолчанию — ACCEPT во всех цепочках.
Включаю sysctl net.ipv4.ip_forward=1 и добавляю одно-единственное правило:
Локально соединяюсь с портом 22 — открыт. С другой машины соединяюсь с портом 1234 — ответ не приходит.
Трафик с машины, на которой NAT:
Трафик с машины, на которой telnet:
Видно, что ходят только SYN-пакеты. Не могу понять, где я накосячил.
После того, как пакет приходит с интерфейса eth0 и проходит цепочку PREROUTING, netfilter изменяет IP-адрес получателя на 127.0.0.1.
Но ядро отбрасывает этот пакет, т.к. с внешнего интерфейса (не lo) такой пакет придти не может.
А в чём сакральный смысл делать DNAT на локалхост? Может лучше редирект?
Да, DNAT фтопку. -j REDIRECT —to-ports 22
Я пытался выести наружу порт 3389 для rdesktop-а одной из виртуальных машин, работающих под qemu. Виртуальная машина использовала виртуальную же TUN/TAP-сетевушку, а тут redirect уже не поможет. Я не знал, в чём у конкретно у меня проблема и пытался свести задачу к максимально простой, чтобы задать вопрос по ней в форуме. Я, кстати, так и не понял, почему, но у меня вдруг всё заработало.
Источник
Почему DNAT внутри сети не работает?
eth1 — LAN интерфейс.
11.11.11.11 это внешний интерфейс.
Вроде по логике:
Заходит пакет на интерфейс eth1, попадает в цепочку PREROUTING, фильтр видит в заголовке адрес направления 11.11.11.11 и порт 80, и перенаправляет пакет на 192.168.11.142:8082
Для такого случая нужен дополнительный SNAT. Получается ситуация следующая (например 192.168.11.100 — клиент, 192.168.11.1 — роутер)
Я обычно такие ситуации лечу так:
Ага, только ты упустил один момент, DNAT меняет только заголовок DST в IP пакете. И получается примерно такое: Машина 192.168.11.20 отправляет пакет на 11.11.11.11, тот делает DNAT на машину 192.168.11.142 (тут пока все как ты говоришь.) НО, машина 192.168.11.142 получает запрос, обрабатывает, и отправляет ответ сразу на 192.168.11.20 мимо DNAT роутера.
Машина 192.168.11.20 — просто не ожидает получить ответ от 192.168.11.142. Он то отправлял на 11.11.11.11, и от него ждет ответ.
Интерфейс лишний. Еще можно указать таблицу -t nat , или по PREROUTING iptables, сам поймет какая таблица, но я например всегда указываю. Алсо должна быть связь между «11.11.11.11» и 192.168.11.142. Да если еще так как выше не работатет, можешь попробовать, например так:
192.168.11.142 — видит син пакет от 192.168.11.100 и отвечает ACK на 192.168.11.100 (на прямую мимо роутера).
Источник
Iptables не работает dnat
Всем привет!
Начальные данные:
ЛВС с разделенной внутренней сетью: DMZ и доверительной, внешний мир через шлюз.
1) Внешний Шлюз — машина под ASP Linux 7.2 (ker. 2.4x.). На нем установлен брандмауэр iptables ver. 1.2.4. установлен кэширующий сервер (nscd и named на перенаправление на внутрений DNS-DMZ).
Интерфейсы/ip-адрес:
eth0 – внешний (Интернет)/ 211.33.195.47
eth1 – внутрений (DMZ) 192.168.5.95
Iptables – устанавливался при установки системы (rpm), ядро не перекомпилировалось.
В ДМЗ установлен почтовый сервер (отдельная машина).
Для внешнего мира машина является почтовым сервером. DNS-провайдера поднят, машина отзывается.
Echo > 1 … ip_forward – сделано.
SNAT – поднят и работает. DNAT – не функционирует и как следует шлюз не пере направляет трафик на внутренний почтовый сервер.
2) Почтовый сервер машина под ASP Linux 7.2 (ker. 2.4x.). Sendmail, imap4, IP-адрес 192.168.5.80. Письма передаются и принимаются в пределах локальной сети. База доступа разрешает домен внутренний и внешний. Письма передаются во внешний мир, но, к сожалению, не принимаются по причине ниже следующей.
Внимание.
ПРОБЛЕМА: Как сделать так, чтобы на шлюзе было перенаправления почтового трафика на машину (mail-serv) в ДМЗ. Sendmail на шлюзе — сразу неприемлемо.
Короче помогите настроить, очень прошу.
СКРИПТ НЕ ВЫДАЕТ НИ КАКИХ ОШИБОК.
ДАЖЕ, ЕСЛИ ДЕЛАЕШЬ ПОЛИТИКУ ПО УМОЛЧАНИЮ В ТАБЛИЦЕ filter ACCEPT И ТОЛЬКО ПРАВИЛА NAT, ВСЕРАВНО НЕ РАБОТАЕТ:
КАК ПРОВЕРЯЛ:
telnet 211.33.195.47 25
Truing 211.33.195.47…
telnet: connect to address 211.33.195.47: Connection refused
netstat – тоже не чего не показывает…
Письмо отсылаешь сам себе, выдает ошибка сокета на узле.
И самое главное опция –C (генерация пакетов, проверка правил) в iptables выдает:
Iptables: Will be implemented real soon. I promise 😉 – ну и как себя после этого чувствовать?!
В одном форуме узнал об утилите redir:
/usr/local/sbin/redir —lport=»локальный порт» —laddr=»локальный адрес» —cport=»порт, куда редиректить» —caddr=»адрес,куда редиректить»
http://sammy.net/
sammy/hacks/redir-2.2.1.tar.gz
Короче, откомпилировал, то работает, то нет и причем в не фоновом режиме, если добавляешь еще один порт для перенаправления, то тоже не работает.
ВЫВОД: Думаю может в ядре чего-нибудь нет? Может перекомпилир.? Или утилита iptables старая.
ВОТ МОЙ СКРИПТ:
#!/bin/sh
echo «Starting firewalling»
IPTABLES=»/sbin/iptables» # имя и место нахождение утилиты
# ВНЕШНИЕ ПАРАМЕТРЫ
EXT_IPADDR=»211.33.195.47″ # внешний IP-адрес брандмауера
EXT_INTERF=»eth0″ # внешний интерфейс брандмауера
ANYWHERE=»0/0″ # произвольный ip-адрес
NAMESERVER_1=»215.44.120.6″ # DNS-сервер 1 провайдера
NAMESERVER_2=»195.78.143.5″ # DNS-сервер 2 провайдера
# DMZ ПАРАМЕТРЫ
LAN_DMZ=»192.168.5.0/24″ # DMZ сеть
LAN_IPADDR_DMZ=»192.168.5.95″ # DMZ адрес брандмауера
LAN_DMZ_INTERF=»eth1″ # DMZ интерфейс брандмауера
# ВНУТРЕНЕЙ ПЕТЛИ ПАРАМЕТРЫ
LO_IFACE=»lo» # петлевой интерфейс
LO_IP=»127.0.0.0/8″ # петлевой адрес
# Внутренние сервера
MAIL_IP=»192.168.5.80″ # IP-адрес внутреннего почтового сервера
FTP_IP=»192.168.5.80″ # IP-адрес внутреннего файлового сервера
# ДРУГИЕ ПАРАМЕТРЫ
CLASS_A=»10.0.0.0/8″ # адреса класса А, предназначенные
# для внутреннего использования
CLASS_B=»172.16.0.0/12″ # адреса класса B, предназначенные
# для внутреннего использования
CLASS_C=»192.168.0.0/16″ # адреса класса C, предназначенные
# для внутреннего использования
CLASS_D=»224.0.0.0/4″ # адреса класса D, предназначенные
# для группового вещания
BROADCAST_SRC=»0.0.0.0″ # исходный широковещательный адрес
BROADCAST_DEST=»255.255.255.255″ # целевой широковещательный адрес
PRIVPORTS=»0:1023″ # номера привилегированных портов
UNPRIVPORTS=»1024:65535″ # номера непривилегированных портов
TRACEROUTE_SRC_PORTS=»32769:65535″ # порты источника утилиты TRACEROUTE
TRACEROUTE_DEST_PORTS=»33434:33523″ # порты источника утилиты TRACEROUTE
SSH_PORTS=»1020:1023″ # число одновременных соединений
#|||||||||||||||||||||—-ПОЕХАЛИ. —-||||||||||||||||||||||||||||||||||||
# Прелюдия
# Включаем поддержку перенаправления пакетов
echo «1» > /proc/sys/net/ipv4/ip_forward
# Запрещаем фрагментированные пакеты
# $IPTABLES -A INPUT -F -o $LAN_DMZ_INTERF -j DROP
# Разрешить защиту TCP SYN cookie
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# Разрешить защиту от фальсификации IP-адресов.
# Включить проверку исходных адресов
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done
# Запретить ICMP-перенаправление
for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do
echo 0 > $f
done
# Запретить пакеты с маршрутом к источнику
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done
# Удаление существующих правил из всех цепочек
$IPTABLES -F
#
# Установка политики запрета по умолчанию
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
# Разрешить неограниченный трафик через интерфейс петли
$IPTABLES -A INPUT -i $LO_IFACE -j ACCEPT
$IPTABLES -A OUTPUT -o $LO_IFACE -j ACCEPT
# Разрешить локальный интерфейс
$IPTABLES -A INPUT -i $LAN_DMZ_INTERF -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN_DMZ_INTERF -j ACCEPT
# Входящие пакеты ping (8)
$IPTABLES -A INPUT -i $EXT_INTERF -p icmp \
-s $ANYWHERE —icmp-type echo-reply -d $EXT_IPADDR -j ACCEPT
# Входящие данные, передаваемые при определении размера узла,
# что узел или сервер недоступны; отклик traceroute (3)
$IPTABLES -A INPUT -i $EXT_INTERF -p icmp \
-s $ANYWHERE —icmp-type destination-unreachable -d $EXT_IPADDR -j ACCEPT
# Входящие запросы с требованием замедления передачи (4)
$IPTABLES -A INPUT -i $EXT_INTERF -p icmp \
-s $ANYWHERE —icmp-type source-quench -d $EXT_IPADDR -j ACCEPT
# Входящие сообщения о тайм-ауте, а также TTL-сообщения traceroute (11)
$IPTABLES -A INPUT -i $EXT_INTERF -p icmp \
-s $ANYWHERE —icmp-type time-exceeded -d $EXT_IPADDR -j ACCEPT
# Входящие сообщения об ошибках (12)
$IPTABLES -A INPUT -i $EXT_INTERF -p icmp \
-s $ANYWHERE —icmp-type parameter-problem -d $EXT_IPADDR -j ACCEPT
###############################################
# Цепочки для обработки изходящих ICMP-пакетов#
###############################################
#
# Исходящие пакеты ping (8)
$IPTABLES -A OUTPUT -o $EXT_INTERF -p icmp \
-s $EXT_IPADDR —icmp-type echo-request -d $ANYWHERE -j ACCEPT
# Исходящие данные, передаваемые при определении размера узла,
# что узел или сервер недоступны; отклик traceroute (3)
$IPTABLES -A OUTPUT -o $EXT_INTERF -p icmp \
-s $EXT_IPADDR —icmp-type destination-unreachable -d $ANYWHERE -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT_INTERF -p icmp \
-s $EXT_IPADDR —icmp-type fragmentation-needed -d $ANYWHERE -j ACCEPT
# Исходящие запросы с требованием замедления передачи (4)
$IPTABLES -A OUTPUT -o $EXT_INTERF -p icmp \
-s $EXT_IPADDR —icmp-type source-quench -d $ANYWHERE -j ACCEPT
# Исходящие сообщения о тайм-ауте, а также TTL-сообщения traceroute (11)
$IPTABLES -A OUTPUT -o $EXT_INTERF -p icmp \
-s $EXT_IPADDR —icmp-type time-exceeded -d $ANYWHERE -j ACCEPT
# Исходящие сообщения об ошибках (12)
$IPTABLES -A OUTPUT -o $EXT_INTERF -p icmp \
-s $EXT_IPADDR —icmp-type parameter-problem -d $ANYWHERE -j ACCEPT
# Фальсификация пакетов и недопустимые адреса
#
# Запретить пакеты, в которых в качестве адреса источника указан IP-адрес
# вашего брандмауера
$IPTABLES -A INPUT -i $EXT_INTERF -s $EXT_IPADDR -j DROP
# Запретить пакеты, в которых в качестве адреса источника указан IP-адрес
# петли
$IPTABLES -A INPUT -i $EXT_INTERF -s $LO_IP -j DROP
# Запретить пакеты, которые содержат адрес источника,
# принадлежащий классу А
$IPTABLES -A INPUT -i $EXT_INTERF -s $CLASS_A -j DROP
# Запретить пакеты, которые содержат адрес источника,
# принадлежащий классу B
$IPTABLES -A INPUT -i $EXT_INTERF -s $CLASS_B -j DROP
# Запретить пакеты, которые содержат адрес источника,
# принадлежащий классу C
$IPTABLES -A INPUT -i $EXT_INTERF -s $CLASS_C -j DROP
# Запретить пакеты, которые содержат адрес источника,
# принадлежащий классу D
$IPTABLES -A INPUT -i $EXT_INTERF -s $CLASS_D -j DROP
# Запретить некоторые широковещательные пакеты
$IPTABLES -A INPUT -i $EXT_INTERF -s $BROADCAST_DEST -j DROP
$IPTABLES -A INPUT -i $EXT_INTERF -s $BROADCAST_SRC -j DROP
#&&&&&&&&&&&&&&&&&&&
# DNS1 в режиме клиента
$IPTABLES -A OUTPUT -o $EXT_INTERF -p udp \
-s $EXT_IPADDR —sport $UNPRIVPORTS \
-d $NAMESERVER_1 —dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p udp \
-s $NAMESERVER_1 —sport 53 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
# DNS-сервер в режиме кэширования и перенаправления
$IPTABLES -A OUTPUT -o $EXT_INTERF -p udp \
-s $EXT_IPADDR —sport 53 \
-d $NAMESERVER_1 —dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p udp \
-s $NAMESERVER_1 —sport 53 \
-d $EXT_IPADDR —dport 53 -j ACCEPT
#########
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —sport $UNPRIVPORTS \
-d $NAMESERVER_1 —dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $NAMESERVER_1 —sport 53 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
#####
# DNS2 в режиме клиента
$IPTABLES -A OUTPUT -o $EXT_INTERF -p udp \
-s $EXT_IPADDR —sport $UNPRIVPORTS \
-d $NAMESERVER_2 —dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p udp \
-s $NAMESERVER_2 —sport 53 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
# DNS-сервер в режиме кэширования и перенаправления
$IPTABLES -A OUTPUT -o $EXT_INTERF -p udp \
-s $EXT_IPADDR —sport 53 \
-d $NAMESERVER_2 —dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p udp \
-s $NAMESERVER_2 —sport 53 \
-d $EXT_IPADDR —dport 53 -j ACCEPT
#########
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —sport $UNPRIVPORTS \
-d $NAMESERVER_2 —dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $NAMESERVER_2 —sport 53 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 80 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port 80 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
# SSL-клиент (443) (защищенные web)
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 443 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port 443 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
# POP (110) — Получение почты посредством POP-клиента
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 110 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port 110 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
# IMAP (143) — Получение почты посредством POP-клиента
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 143 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port 143 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
# SMTP (25) — клиент
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 25 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port 25 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
# SSH (22) — клиент (защищенный Telnet)
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 22 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port 22 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $SSH_PORTS \
-d $ANYWHERE —dport 22 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port 22 \
-d $EXT_IPADDR —dport $SSH_PORTS -j ACCEPT
# FTP (20, 21) — Обращение клиентов к удаленным FTP-серверам
# Исходящий запрос
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 21 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port 21 \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
# Режим нормального канала данных (normal data channel port mode)
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp \
-s $ANYWHERE —source-port 20\
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp ! —syn \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 20 -j ACCEPT
# Режим пассивного канала данных (passive data channel mode)
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port $UNPRIVPORTS \
-d $EXT_IPADDR —dport $UNPRIVPORTS -j ACCEPT
# SMTP 1 Получение сообщений, предназначенных для локальных машин
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp \
-s $ANYWHERE —source-port $UNPRIVPORTS \
-d $EXT_IPADDR —dport 25 -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp ! —syn \
-s $EXT_IPADDR —source-port 25 \
-d $ANYWHERE —dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN_DMZ_INTERF -p tcp \
-s $ANYWHERE —source-port $UNPRIVPORTS \
-d $MAIL_IP —dport 25 -j ACCEPT
$IPTABLES -A INPUT -i $LAN_DMZ_INTERF -p tcp ! —syn \
-s $MAIL_IP —source-port 25 \
-d $ANYWHERE —dport $UNPRIVPORTS -j ACCEPT
# SMTP 2 Сервер ДМЗ посылает письма с локальных машин на удаленные узлы.
$IPTABLES -A INPUT -i $LAN_DMZ_INTERF -p tcp \
-s $MAIL_IP —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 25 -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN_DMZ_INTERF -p tcp ! —syn \
-s $ANYWHERE —source-port 25 \
-d $MAIL_IP —dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -A OUTPUT -o $EXT_INTERF -p tcp \
-s $EXT_IPADDR —source-port $UNPRIVPORTS \
-d $ANYWHERE —dport 25 -j ACCEPT
$IPTABLES -A INPUT -i $EXT_INTERF -p tcp —syn \
-s $ANYWHERE —source-port 25 \
-d $ANYWHERE —dport $UNPRIVPORTS -j ACCEPT
#——————————————————————————
# Цепочка перенаправления из ИНТЕРНЕТ в ДМЗ
# Конфигурация входящего и исходящего почтового сервера
$IPTABLES -t nat -A PREROUTING -p TCP -i $EXT_INTERF -d $EXT_IPADDR —dport 25 \
-j DNAT —to-destination $MAIL_IP
# ИЛИ ТАК, всеравно не работает
#$IPTABLES -t nat -A PREROUTING -p TCP -i $EXT_INTERF -d $EXT_IPADDR —dport #25 \
#-j DNAT —to-destination $MAIL_IP:25
$IPTABLES -t nat -A PREROUTING -p TCP -i $EXT_INTERF -d $EXT_IPADDR —dport 143 \
-j DNAT —to-destination $MAIL_IP
$IPTABLES -t nat -A PREROUTING -p TCP -i $EXT_INTERF -d $EXT_IPADDR —dport 110 \
-j DNAT —to-destination $MAIL_IP
# Конфигурация файлового сервера
$IPTABLES -t nat -A PREROUTING -p TCP -i $EXT_INTERF -d $EXT_IPADDR —dport 21 \
-j DNAT —to-destination $FTP_IP
$IPTABLES -t nat -A PREROUTING -p TCP -i $EXT_INTERF -d $EXT_IPADDR —dport 20 \
-j DNAT —to-destination $FTP_IP
# Цепочка NAT из ДМЗ в ИНТЕРНЕТ
$IPTABLES -t nat -A POSTROUTING -o $EXT_INTERF -j SNAT —to-source $EXT_IPADDR
#——————————————————————————
##############
# TRACEROUTE #
##############
$IPTABLES -A OUTPUT -o $EXT_INTERF -p udp \
-s $EXT_IPADDR —source-port 32769:65535 \
-d $ANYWHERE —dport 33434:33523 -j ACCEPT
# Цепочка FORWARD
#$IPTABLES -A FORWARD -i $LAN_DMZ_INTERF -j ACCEPT
#$IPTABLES -A FORWARD -m state —state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $LAN_DMZ_INTERF -o $EXT_INTERF -j ACCEPT
$IPTABLES -A FORWARD -m state —state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $EXT_INTERF -o $LAN_DMZ_INTERF \
-d $MAIL_IP —dport 110 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $EXT_INTERF -o $LAN_DMZ_INTERF \
-d $MAIL_IP —dport 143 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $EXT_INTERF -o $LAN_DMZ_INTERF \
-d $MAIL_IP —dport 25 -j ACCEPT
# ИЛИ ТАК, всеравно не работает
#$IPTABLES -A FORWARD -p TCP -i $EXT_INTERF -o $LAN_DMZ_INTERF \
# -s $EXT_INTERF —sport 25 \
# -d $MAIL_IP —dport 25 -j ACCEPT
#
echo «DONE. »
exit 0
БОЛЬШОЕ СПАСИБО ЗА ВАШЕ ВНИМАНИЕ
С уважением,
Ncskiber
Если нужно:
me mail: ncskiber@mail.ru
| Оглавление |
|
| Индекс форумов | Темы | Пред. тема | След. тема |
| Сообщения по теме |
| 1. «RE: НЕ РАБОТАЕТ DNAT IPTABLES HELP ME PLZ. « | |
| Сообщение от oViX | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
| 2. «RE: НЕ РАБОТАЕТ DNAT IPTABLES HELP ME PLZ. « | |
| Сообщение от ncskiber | |
Спасибо, попробую, о новостях сообщу! | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
| 3. «RE: НЕ РАБОТАЕТ DNAT IPTABLES HELP ME PLZ. « | |
| Сообщение от ncskiber | |
P.S. Каким дистрибутивом на брандмауэре пользуютись (название, версия,) и iptables у Вас какая версия? Если делали DNAT у себя для перенаправления скинти ваши правила плз. Спасибо за внимание! | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
| 4. «RE: НЕ РАБОТАЕТ DNAT IPTABLES HELP ME PLZ. « | |
| Сообщение от oViX | |
Если все нормально, то почтовик доступен, разбирайса с провайдерами по поводу MX. 3.Правила FW # FORWARD # POSTROUTING ПРопиши их вначале всех правил, чтоб они РАБОТАЛИ, может какое-то правило их забивает. | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
| 5 . «RE: НЕ РАБОТАЕТ DNAT IPTABLES HELP ME PLZ. « | |
| Сообщение от ncskiber | |
В вобщем DNAT работает. Я ПРОБЛЕМУ НАШЕЛ В ДРУГОМ, А ИМЕННО В SENDMAIL ПИСЬМО ХОДИТ ПО КРУГУ: Я ЭТО ОБРЕСОВАЛ В НОВОЙ ТЕМЕ (Знатокам Sendmail, DNS, IPTABLES. ) Источник | |