Привет! Вопрос таков.
Есть локальная сеть например 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, ..
блин, хоть по NFS монтируй файлсервер на шлюз и на нем proftpd ставь
надо срочно а я уже несколько часов мучаюсь.нашел что может быть конфликт между шлюзом и ftp сервером на этой почве.
Написал правило искоючение для хождения пакетов с самого сервера на сам шлюз и обратно.
Частично помогло но активное соединение всё равно не устанавливается.
может баг во втором правиле?
но я немогу его найти.Перечитал еще раз маны вроде бы, google посерфил... напасть какая-то
Сделай в ручную редирект портов жестким диапозоном, например с
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@