Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: почта через NAT  (Прочитано 1513 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн captd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 29
    • Просмотр профиля
почта через NAT
« : 12 Май 2010, 16:35:31 »
Здравствуйте не получается пробросить почтовые порты через нат
есть сервер на UBUNTU 9.10 с 2-мя интерфейсами eth0 локалка eth1 интернет
пишу так:
sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 25 -j DNAT --to-destination 192.168.0.3:25

sudo iptables -t nat -A POSTROUTING -p tcp --dst 192.168.0.3 --dport 25 -j SNAT --to-source 192.168.0.1

sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 110 -j DNAT --to-destination 192.168.0.3:110

sudo iptables -t nat -A POSTROUTING -p tcp --dst 192.168.0.3 --dport 110 -j SNAT --to-source 192.168.0.1

iptables -A FORWARD -s 192.168.0.3/32 -j ACCEPT

iptables -A FORWARD -d 192.168.0.3/32 -j ACCEPT
На машине с 192.168.0.3 всеравно поча не работает. Подскажите пожалуйста где я ошибся?

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: почта через NAT
« Ответ #1 : 12 Май 2010, 17:28:45 »
Цитировать
Буратине дали три яблока. Два он съел. Сколько яблок осталось у Буратины?
Думаете одно?
Нифига. Никто же не знает сколько у него уже было яблок до этого.
Мораль: обнуляйте переменные.

Что в таблицах творится перед дописыванием новых правил? (sudo iptables-save)?

Зачем с-натишь?

Судя по правилам я думал, что на 192.168.0.3 у тебя почтовый сервер. Но после прочтения
На машине с 192.168.0.3 всеравно поча не работает.
закрались сомнения.

Что надо сделать? Конкретно, по пунктам, с указанием направлений tcp соединений.

Оффлайн captd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 29
    • Просмотр профиля
Re: почта через NAT
« Ответ #2 : 12 Май 2010, 21:44:11 »
Нужно, чтобы на машине с айпи 192.168.0.3 работала почтовая программа например the bat через squid почта не работает вот и хочу порты 25 и 110 сделать прозрачными

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: почта через NAT
« Ответ #3 : 12 Май 2010, 21:48:00 »
Понятно. Ты не с того края подошел. Но всёравно ничего не смогу посоветовать, пока не будет видна полная картина (sudo iptables-save).

Оффлайн Nickollla

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
Re: почта через NAT
« Ответ #4 : 12 Май 2010, 23:46:14 »
Здравствуйте не получается пробросить почтовые порты через нат
есть сервер на UBUNTU 9.10 с 2-мя интерфейсами eth0 локалка eth1 интернет
пишу так:
sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 25 -j DNAT --to-destination 192.168.0.3:25

sudo iptables -t nat -A POSTROUTING -p tcp --dst 192.168.0.3 --dport 25 -j SNAT --to-source 192.168.0.1

sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 110 -j DNAT --to-destination 192.168.0.3:110

sudo iptables -t nat -A POSTROUTING -p tcp --dst 192.168.0.3 --dport 110 -j SNAT --to-source 192.168.0.1

iptables -A FORWARD -s 192.168.0.3/32 -j ACCEPT

iptables -A FORWARD -d 192.168.0.3/32 -j ACCEPT
На машине с 192.168.0.3 всеравно поча не работает. Подскажите пожалуйста где я ошибся?
Жесть правила:)) Я тоже после прочтения оных в ступор встал что нужно то
тебе должно хватить правил ниже
1. iptables -t nat -A POSTROUTING -p tcp --dport 25 -s 192.168.0.3/32 -j SNAT --to-source тут_ип_который на интерфейсе в сторону провайдера.  или можно заменить iptables -t nat -A POSTROUTING -p tcp --dport 25 -s 192.168.0.3/32 -j MASQUERADE
2. iptables -t nat -A POSTROUTING -p tcp --dport 110 -s 192.168.0.3/32 -j MASQUERADE (или SNAT на твое усмотрение )
3. iptables -A FORWARD -s 192.168.0.3/32 -p tcp -m multiport --destination-port 25,110 -j ACCEPT
4. iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
« Последнее редактирование: 12 Май 2010, 23:52:20 от Nickollla »

Оффлайн captd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 29
    • Просмотр профиля
Re: почта через NAT
« Ответ #5 : 13 Май 2010, 15:33:33 »
iptables -t nat -A POSTROUTING -p tcp --dport 25 -s 192.168.0.3/32 -j SNAT --to-source тут_ип_который на интерфейсе в сторону провайдера.  или можно заменить iptables -t nat -A POSTROUTING -p tcp --dport 25 -s 192.168.0.3/32 -j MASQUERADE
2. iptables -t nat -A POSTROUTING -p tcp --dport 110 -s 192.168.0.3/32 -j MASQUERADE (или SNAT на твое усмотрение )
3. iptables -A FORWARD -s 192.168.0.3/32 -p tcp -m multiport --destination-port 25,110 -j ACCEPT
4. iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
так не заработало

iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -P FORWARD ACCEPT
sysctl net.ipv4.ip_forward=1
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -i eth0 -p tcp -m multiport --dports 25,110 -j ACCEPT
Так заработало, но почему то открылись все порты(например 80), а я хочу чтобы открыто было чисто по 25 110 портам, все остальные порты закрыты от интернета

Оффлайн Nickollla

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
Re: почта через NAT
« Ответ #6 : 13 Май 2010, 15:48:37 »
iptables -t nat -A POSTROUTING -p tcp --dport 25 -s 192.168.0.3/32 -j SNAT --to-source тут_ип_который на интерфейсе в сторону провайдера.  или можно заменить iptables -t nat -A POSTROUTING -p tcp --dport 25 -s 192.168.0.3/32 -j MASQUERADE
2. iptables -t nat -A POSTROUTING -p tcp --dport 110 -s 192.168.0.3/32 -j MASQUERADE (или SNAT на твое усмотрение )
3. iptables -A FORWARD -s 192.168.0.3/32 -p tcp -m multiport --destination-port 25,110 -j ACCEPT
4. iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
так не заработало

iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -P FORWARD ACCEPT
sysctl net.ipv4.ip_forward=1
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -i eth0 -p tcp -m multiport --dports 25,110 -j ACCEPT
Так заработало, но почему то открылись все порты(например 80), а я хочу чтобы открыто было чисто по 25 110 портам, все остальные порты закрыты от интернета
у тебя все открыто так как ты сам открыл вот этим iptables -P FORWARD ACCEPT  и вот этим iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
И конечно же к правилам которые я писал нужно и это sysctl net.ipv4.ip_forward=1
У тебя какая то странная манера писать конфиги кусками. Статейка по iptables тебе в помощь http://www.opennet.ru/docs/RUS/iptables/
« Последнее редактирование: 13 Май 2010, 16:02:49 от Nickollla »

Оффлайн captd

  • Автор темы
  • Новичок
  • *
  • Сообщений: 29
    • Просмотр профиля
Re: почта через NAT
« Ответ #7 : 13 Май 2010, 18:42:31 »
Большое спасибо, получилось запретил транзитный трафик и заработало как надо, буду еще читать про iptables    :)
iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth1(интернет) -j MASQUERADE
iptables -P FORWARD DROP
sysctl net.ipv4.ip_forward=1
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -i eth0(локалка) -p tcp -m multiport --dports 25,110 -j ACCEPT

 

Страница сгенерирована за 0.065 секунд. Запросов: 22.