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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Помогите пробросить 25, 110 порты в локальную сеть  (Прочитано 9345 раз)

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

Оффлайн triode-master

  • Автор темы
  • Любитель
  • *
  • Сообщений: 66
    • Просмотр профиля
Есть "сервер" на нем настроил squid+sams.
Проблема с почтой, надо пробросить порты 25, 110 в локалку.
eth0  - смотрит в интернет, ip получает по dhcp.
eth1 - смотрит в локальную сеть, ip 192.168.5.1, т.е. в локальной сети статические ip.
Мне просто надо пробросить эти порты и все.

Плз. не надо  давать ссылку на мануал iptables, на изучение его уйдет как минимум неделя.

Просто напишите что и куда писать.
« Последнее редактирование: 14 Октября 2008, 14:35:59 от triode-master »

Оффлайн triode-master

  • Автор темы
  • Любитель
  • *
  • Сообщений: 66
    • Просмотр профиля
Нашел такое, только куда писать не знаю.
Подскажите.


#!/bin/bash
...
eth1="192.168.5.0/24" - в локаль.
eth0="xxx.xxx.xxx.xxx" - если ip по dhcp получаю что тут писать? - внешний интерфейс, по нему получаю интернет.

...
iptables -t nat -A POSTROUTING -s $int_net -p tcp --dport 110 -j SNAT --to $ext_addr
iptables -t nat -A POSTROUTING -s $int_net -p tcp --dport 25 -j SNAT --to $ext_addr
...

iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -s $int_net -p icmp -j SNAT --to $ext_addr
echo 1 >/proc/sys/net/ipv4/ip_forward
« Последнее редактирование: 14 Октября 2008, 14:21:35 от triode-master »

Оффлайн Bambr

  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
Подозреваю, что адрес подсети, из пространства адресов которой выдается IP`шник посредством DHCP.

Оффлайн triode-master

  • Автор темы
  • Любитель
  • *
  • Сообщений: 66
    • Просмотр профиля
Цитировать
Подозреваю, что адрес подсети, из пространства адресов которой выдается IP`шник посредством DHCP.
Это вы про что?

Оффлайн Nuk79

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE -p tcp --dport 110
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE -p tcp --dport 25

Оно?

Оффлайн ADL

  • Активист
  • *
  • Сообщений: 447
    • Просмотр профиля
omg, какие снат, какие маскарад лол - читайте туториал, смотрите днат

Оффлайн shadow_alone

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
iptables -t nat -A PREROUTING -d наружный_IP -i наружный__интерфейс -p tcp -m tcp --dport 25 -j DNAT -to-destination внутренний_IP:25
iptables -t nat -A POSTROUTING -d внутренний_IP -o наружный__интерфейс -p tcp -m tcp --dport 25 -j SNAT --to-source наружный_IP
iptables -t nat -A PREROUTING -d наружный_IP -i наружный__интерфейс -p tcp -m tcp --dport 110 -j DNAT -to-destination внутренний_IP:110
iptables -t nat -A POSTROUTING -d внутренний_IP -o наружный__интерфейс -p tcp -m tcp --dport 110 -j SNAT --to-source наружный_IP
iptables -A FORWARD -d внутренний_IP -p tcp -m tcp --dport 25 -m state --state NEW -j ACCEPT
iptables -A FORWARD -d внутренний_IP -p tcp -m tcp --dport 110 -m state --state NEW -j ACCEPT

Оффлайн triode-master

  • Автор темы
  • Любитель
  • *
  • Сообщений: 66
    • Просмотр профиля
Вот нашел еще пример

Цитировать
Это делается с помощью iptables
Тебе нужно задать таблицы маршрутизации. Даю наводку:

#Проброс портов на внутренний почтовый сервер и обратно
#eth1 = Локалка
#eth2 = Инет

#Всех пускать на сервер по обоим интерфейсам, но никого не форвардить
iptables -F INPUT
iptables -Z INPUT
iptables -P INPUT ACCEPT

iptables -F OUTPUT
iptables -Z OUTPUT
iptables -P OUTPUT ACCEPT

iptables -F FORWARD
iptables -Z FORWARD
iptables -P FORWARD DROP

#разрешить фильтрацию портов в обоих направлениях
iptables -t filter -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 110 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 25 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 110 -j ACCEPT

#собственно проброс портов в локалку и обратно
iptables -t nat -A PREROUTING --dst 217.116.xx.xx -p tcp --dport 25 -j DNAT --to-destination 192.168.100.1:3025
iptables -t nat -A PREROUTING --dst 217.116.xx.xx -p tcp --dport 110 -j DNAT --to-destination 192.168.100.1:3110
iptables -t nat -A POSTROUTING --dst 192.168.100.1 -p tcp --dport 25 -j SNAT --to-source 217.116.xx.xx
iptables -t nat -A POSTROUTING --dst 192.168.100.1 -p tcp --dport 110 -j SNAT --to-source 217.116.xx.xx

#маскировка всех исходящих как внешний ip
iptables -t nat -A POSTROUTING --out-interface eth2 -j SNAT --to-source 217.116.xx.xx

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

нашел еще такое
Цитировать
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -p tcp --sport 110 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --sport 3128 -j ACCEPT
iptables -A FORWARD -p tcp --dport 3128 -j ACCEPT
тут вообще не интерфейсы не ip не указаны.
« Последнее редактирование: 17 Октября 2008, 23:12:17 от triode-master »

Оффлайн shadow_alone

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
конкретно в твоем случае:
предположим что IP машины на которую надо сделать проброс 192.168.5.2


iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j DNAT --to-destination 192.168.5.2:25
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.5.2 --dport 25 -j SNAT --to-source 192.168.5.1

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 110 -j DNAT --to-destination 192.168.5.2:110
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.5.2 --dport 110 -j SNAT --to-source 192.168.5.1

iptables -A FORWARD -s 192.168.5.2/32 -j ACCEPT
iptables -A FORWARD -d 192.168.5.2/32 -j ACCEPT

Оффлайн shadow_alone

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
вот поэтому я тебе и сделал пример с привязкой к интерфейсу внешнему, а не к IP.

Оффлайн shadow_alone

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
да, надеюсь все остальное у тя работает в iptables. ну то есть в нет через него ходят.
если нет еще поправь файл /etc/sysctl.conf  на предмет net.ipv4.ip_forward=1 и перегрузись , или не перегружаясь
echo "1" >/proc/sys/net/ipv4/ip_forward из-под root

Оффлайн triode-master

  • Автор темы
  • Любитель
  • *
  • Сообщений: 66
    • Просмотр профиля
МЛИН, ВСЕ ГОЛОВА ПУХНЕТ
root@linuxserver:/home/souz# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Оффлайн shadow_alone

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
отчего пухнет то....
ну я тя цепочки сейчас пустые, дай команды что я тебе дал из-под root или через sudo и посмотри после этого цепочки.

Оффлайн triode-master

  • Автор темы
  • Любитель
  • *
  • Сообщений: 66
    • Просмотр профиля
Вроде что-то получилось, ну опять же колдовал, что конкретно сделал не понял.
Больше всего этого не люблю.

Оффлайн shadow_alone

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
дык колдовать и не надо, я тя уверяю, все работает так как написано.

 

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