URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 68060
[ Назад ]

Исходное сообщение
"FTP сервер из локальной сети в интернет через ipnat"

Отправлено xkw , 07-Авг-06 14:04 
Привет! Вопрос таков.
Есть локальная сеть например 10.10.10.0/24
и в ней шлюз 10.10.10.1 который смотрит в интернет например
адресом 195.95.243.21 (все адреса от балды:)

Есть в нутри сети так же ftp сервер который необходимо 21-м портом показать
людям в интернете используя ipnat;
ftpserver ip: 10.10.10.2

внешний интерфейс у шлюза например em0 внутренний xl0;
строю правила:

# port redirect:
rdr em0 195.95.243.21/32 port 21 -> 10.10.10.2 port 21 tcp

# port mapping:
map em0 from 0.0.0.0/0 to 10.10.10.2 -> 195.95.243.21/32 proxy port ftp ftp/tcp
map em0 from 0.0.0.0/0 to 10.10.10.2 -> 195.95.243.21/32

не работает...
К порту коннектит а от сервера никаких сообщений, Т.е. сервер явно неможет
ничего отправить в ответ.

Если убрать вторуй строку оставив только первую и последнюю то приглащение
есть но порт на встречное соединение при подучении например списка файлов открыть не может - нет proxy port -a

Пробывал разное, например:

# port mapping:
map xl0 from 10.10.10.2/32 -> 195.95.243.21/32 proxy port ftp ftp/tcp
map xl0 from 0.0.0.0/0 to 10.10.10.2 -> 195.95.243.21/32

или

# port mapping:
map xl0 from 0.0.0.0/32 -> 195.95.243.21/32 proxy port ftp ftp/tcp
map xl0 from 0.0.0.0/0 to 10.10.10.2 -> 195.95.243.21/32

а так же менял интерфейсы и дебажил. Но не помоло:(

Помогите если знаете пожалуйста:)

regards, ..


Содержание

Сообщения в этом обсуждении
"FTP сервер из локальной сети в интернет через ipnat"
Отправлено xkw , 07-Авг-06 18:01 
блин, хоть по NFS монтируй файлсервер на шлюз и на нем proftpd ставь
надо срочно а я уже несколько часов мучаюсь.

нашел что может быть конфликт между шлюзом и ftp сервером на этой почве.
Написал правило искоючение для хождения пакетов с самого сервера на сам шлюз и обратно.
Частично помогло но активное соединение всё равно не устанавливается.
может баг во втором правиле?
но я немогу его найти.

Перечитал еще раз маны вроде бы, google посерфил... напасть какая-то


"FTP сервер из локальной сети в интернет через ipnat"
Отправлено procool , 08-Авг-06 17:18 
Сделай в ручную редирект портов жестким диапозоном, например с
10000 по 20000, на свой ftp сервер со шлюза.
Тогда станет возможным осуществлять хотя бы пассивное соединение.
И того:

procool@test$ cat /etc/ipnat.rules
# port redirect:
rdr em0 195.95.243.21/32 port 21 -> 10.10.10.2 port 21 tcp
rdr em0 195.95.243.21/32 port 10000-20000 -> 10.10.10.2 port 10000 tcp

# port mapping:
#map em0 from 0.0.0.0/0 to 10.10.10.2 -> 195.95.243.21/32 proxy port ftp ftp/tcp
map em0 from 0.0.0.0/0 to 10.10.10.2 -> 195.95.243.21/32

# - вот здесь ты отрезаешь себе возможность использовать активное
# соединение, и нарушаешь секурность.
# По сути сервер открывает порт и ждет на него подключения с ip-ка который
# попросил его открыть. А так - у тебя все ip-ки будут от имени шлюза
# выступать и людой узнав порт сможет читать оттуда выходную информацию.
# По идее в нашем случае map правила вообще можно не писать.

procool@test$ cat /etc/firewall.conf
add 100 allow all from any to 10.10.10.2 21
add 101 allow all from 10.10.10.2 21 to any
add 102 allow all from any to 10.10.10.2 10000-20000
add 103 allow all from 10.10.10.2 10000-20000 to any

------- FTP server:
procool@test$ cat /usr/local/etc/proftpd.conf | grep PassiveP
PassivePorts 10000 20000

- типа добавляешь в последний эту запись. что бы порты были строго в этом диапозоне.
ффсё!)
проверенно, работает))

regards, procool@