LinuxForum.Fans
Тема

Не могу подключиться к FTP

Автор: Dormidont3 145 сообщений 28919 просмотров
#127237

Извиняюсь, что прерываю бесседу, но у меня за окном уже 8 вечера и я начинаю с трудом соображать, да и количесво выпитого кофе, уже зашкаливает... Обязательно завтра вернусь в тему, с надеждой, что всё удастся разрешить...

Дома почитаю про iptables всё таки... Если не сложно дайте пару советов, что завтра с утра посмотреть в первую очередь, потому, что у меня правда по этому поводу мысли кончились...

#127238

как вариант, это перенаправить весь трафик squid на DG

iptables -t nat -A PREROUTING -p tcp --dport 3128 -i ethX -j REDIRECT --to-port 8081

где ethX ваш сетевой интерфейс, у вас их 3 (0 1 и 2)

Должно работать вроде бы =) Завтра скину правило как сделать обход мимо сквида для ftp

#127527
i2ks написал:
как вариант, это перенаправить весь трафик squid на DG

iptables -t nat -A PREROUTING -p tcp --dport 3128 -i ethX -j REDIRECT --to-port 8081

где ethX ваш сетевой интерфейс, у вас их 3 (0 1 и 2)

Должно работать вроде бы =) Завтра скину правило как сделать обход мимо сквида для ftp

Очень жду обещанное правило! =)

А ту команду, которую вы предложили, её просто выполнить на сервере нужно? И если что то пойдёт не так, то как потом откатить?

#127539
Dormidont3 написал:
Очень жду обещанное правило! smile

$iptables -t nat -A PREROUTING -p tcp -s <ip_adress> --dport 21 -j ACCEPT

Где ip_address адрес клиента, к примеру 192.168.1.10
Для того что бы это правило работало, необходимо сделать:
echo "1" > /proc/sys/net/ipv4/ip_forward

Dormidont3 написал:
А ту команду, которую вы предложили, её просто выполнить на сервере нужно? И если что то пойдёт не так, то как потом откатить?

1) Сохраняем правила:
[console]
#cd /root
#iptables-save > iptables.rules
[/console]

2) Восстанавливаем:
[console]
#cd /root
#iptables-restore < iptables.rules
[/console]
или
[console]
#iptables-restore < /root/iptables.rules
[/console]

Каталог можно выбрать произвольный, в качестве примеры я выбрал /root =)
Если не делать п.1. и п.2, то как вариант перезагрузить сервер, или перезапустить сеть, /etc/init.d/network restart, не знаю как в altlinux, но в centos/fedora/opensuse это прокатывает smile
А вообще не мешало бы почитать про IPtables, есть готовые конфиги, которые необходимо только подправить некие значения и все.

#127547

Выполнил... Не помогло... Всё та же история... На открытые захожу, там где нужны логин и пароль, не пускает...

#127549

вот что имею в иптаблес... может тут что не так...

text
[root@comp-Pentium-Dual-679ab3 ~]# cat iptables.rules 
# Generated by iptables-save v1.4.5 on Thu Feb 10 15:16:03 2011
*mangle
:PREROUTING ACCEPT [1595687:1155177259]
:INPUT ACCEPT [1229250:777542302]
:FORWARD ACCEPT [365532:377541294]
:OUTPUT ACCEPT [1112656:584534699]
:POSTROUTING ACCEPT [1479968:962471189]
COMMIT
# Completed on Thu Feb 10 15:16:03 2011
# Generated by iptables-save v1.4.5 on Thu Feb 10 15:16:03 2011
*nat
:PREROUTING ACCEPT [58143:5336824]
:POSTROUTING ACCEPT [37918:2391363]
:OUTPUT ACCEPT [38840:2773647]
-A POSTROUTING -o eth1 -j MASQUERADE 
COMMIT
# Completed on Thu Feb 10 15:16:03 2011
# Generated by iptables-save v1.4.5 on Thu Feb 10 15:16:03 2011
*filter
:INPUT ACCEPT [41981:5027554]
:FORWARD ACCEPT [12029:914706]
:OUTPUT ACCEPT [43056:3637205]
-A INPUT -f -j DROP 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -j ULOG --ulog-prefix "icount" --ulog-cprange 48 --ulog-qthreshold 50 
-A INPUT -i eth1 -p udp -m udp --dport 67 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 68 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 53 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 53 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 20 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 20 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 21 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 21 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 143 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 143 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 220 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 220 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 993 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 993 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 1194 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 1194 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 110 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 110 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 995 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 995 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 137 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 137 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 138 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 138 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 139 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 139 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 445 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 445 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 25 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 465 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 587 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 587 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 80 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 443 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 5353 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 5000:5100 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 5000:5100 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 1720 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 10000:20000 -j ACCEPT 
-A INPUT -i eth1 -p tcp -m tcp --dport 3478 -j ACCEPT 
-A INPUT -i eth1 -p udp -m udp --dport 3478 -j ACCEPT 
-A INPUT -i eth1 -p icmp -j ACCEPT 
-A INPUT -i eth1 -j DROP 
-A FORWARD -f -j DROP 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -j ULOG --ulog-prefix "fcount" --ulog-cprange 48 --ulog-qthreshold 50 
-A FORWARD -d 10.2.68.0/24 -i eth1 -j ACCEPT 
-A FORWARD -m physdev --physdev-is-bridged -j ACCEPT 
-A FORWARD -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i eth1 -j DROP 
-A OUTPUT -f -j DROP 
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A OUTPUT -j ULOG --ulog-prefix "ocount" --ulog-cprange 48 --ulog-qthreshold 50 
COMMIT
#127550
Dormidont3 написал:
Выполнил... Не помогло... Всё та же история... На открытые захожу, там где нужны логин и пароль, не пускает...

забыл написать, в качестве шлюза и днс на клиенте надо указать ip вашего прокси сервера.

Dormidont3 написал:
Выполнил... Не помогло... Всё та же история... На открытые захожу, там где нужны логин и пароль, не пускает...

а приглашение ввести логин и пароль не появляется что ли?
#tail -20 /var/log/squid/access.log|grep [url=ftp://ftp.harod.ru]ftp.harod.ru[/url]

#127552
i2ks написал:
[quote=Dormidont3]Выполнил... Не помогло... Всё та же история... На открытые захожу, там где нужны логин и пароль, не пускает...

забыл написать, в качестве шлюза и днс на клиенте надо указать ip вашего прокси сервера.

Dormidont3 написал:
Выполнил... Не помогло... Всё та же история... На открытые захожу, там где нужны логин и пароль, не пускает...

а приглашение ввести логин и пароль не появляется что ли?
#tail -20 /var/log/squid/access.log|grep [url=ftp://ftp.harod.ru]ftp.harod.ru[/url][/quote]

Дак так и указано!

А что это за команда? Я выполнил никаких изменений... Я так понимаю это логи куда то записал...

А логин и пароль ни где не появлялись...

#127553
Dormidont3 написал:

-A INPUT -i eth1 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp --dport 21 -j ACCEPT

Здесь все хорошо, если было бы иначе, то на прямую с сервера у вас заблокирован был бы доступ

#127554
Dormidont3 написал:
А что это за команда? Я выполнил никаких изменений... Я так понимаю это логи куда то записал...

где у вас логи squid лежаn access.log cache.log store.log? по умолчанию в /var/log/squid

#127556

Да, я тоже понял, что что там всё нормально и всё открыто...

А логи там и лежат... Там их как положено 3 штуки. Доступ, кэш и история.

#127559

Какое-то хаотичное решение важной проблемы.
Имеем связку iptables+dg+squid.

Пишем скрипт для iptables

text

#!/bin/sh
IPTABLES="/sbin/iptables"
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_conntrack_ftp
$IPTABLES -F -t filter
$IPTABLES -F -t nat
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE   вместо $INET_IFACE вписываем внешний интерфейс

На клиенте убираем данные о прокси и указываем дефолтный шлюз.
Проверяем и делаем выводы.
Если идет, цепляем squid, прописав прокси.
Проверяем и делаем выводы.
Если идет цепляем dg.
Проверяем и делаем выводы.

#127560

Dormidont3, ну вот сейчас сделайте подключение к [url=ftp://ftp.narod.ru]ftp.narod.ru[/url], если опять ошибка с доступом. то должно отразиться все в access.log

#127561
a-x написал:
На клиенте убираем данные о прокси и указываем дефолтный шлюз.
Проверяем и делаем выводы.
Если идет, цепляем squid, прописав прокси.
Проверяем и делаем выводы.
Если идет цепляем dg.
Проверяем и делаем выводы.

Генеально, прям решенеи любой проблемы, прям как по учебнику. У человека и так все работает, за исключением одного, не может авторизоваться на некоторых фтп серверах с аторизацией

#127563
i2ks написал:
[quote=a-x]На клиенте убираем данные о прокси и указываем дефолтный шлюз.
Проверяем и делаем выводы.
Если идет, цепляем squid, прописав прокси.
Проверяем и делаем выводы.
Если идет цепляем dg.
Проверяем и делаем выводы.

Генеально, прям решенеи любой проблемы, прям как по учебнику. У человека и так все работает, за исключением одного, не может авторизоваться на некоторых фтп серверах с аторизацией[/quote]

С удовольствием это сделаю. Только для начала думаю нужно как то очистить лог, а то я глянул там 56000 строк... Они нафиг не нужны...

А по поводу "учебника" что делать то? Пробовать или нет?

#127568
i2ks написал:
[quote=a-x]На клиенте убираем данные о прокси и указываем дефолтный шлюз.
Проверяем и делаем выводы.
Если идет, цепляем squid, прописав прокси.
Проверяем и делаем выводы.
Если идет цепляем dg.
Проверяем и делаем выводы.

Генеально, прям решенеи любой проблемы, прям как по учебнику. У человека и так все работает, за исключением одного, не может авторизоваться на некоторых фтп серверах с аторизацией[/quote]
Конечно гениально, точнее просто разумно, чем тыркаться наугад проще разорвать всю цепочку и собирая её проверять очень(!) нужную функцию, займет 10 минут, но хоть будет ясно где затык, а так можно телепатически еще пару дней угробить.

#127573
Dormidont3 написал:
А по поводу "учебника" что делать то? Пробовать или нет?

команда tail -10 покажет последние 10 строк из файла, соответственно 10 можно увеличить и до 50 и 10 и тд, а можно просматривать в реально времени что творится, поставить ключик -f. =)

a-x написал:
Конечно гениально, точнее просто разумно, чем тыркаться наугад проще разорвать всю цепочку и собирая её проверять очень(!) нужную функцию, займет 10 минут, но хоть будет ясно где затык, а так можно телепатически еще пару дней угробить.

Этот вариант работает в том случае если вы представляете что делаете и как это работает, и подкреплены фундаментальными знаниями в области linux, а здесь, человек поставил систему и столкнулся с трудностями, если есть какие соображения по поводу вопроса ТС, то помогите, "а не лейте воду в море". По кол-ву страниц ТС и так все уже предоставил, только у меня все равно есть некоторые сомнения то что ТС что то делает не так. Может это уже паранойя? smile

#127574

Я конечно могу выполнить этот скрипт, только скажите, как после этого по очереди подключать всё, что нужно... И... нужно ли делать обновление каких либо конфигов и настройки системы менять? Я так полагаю этот скрипт должен выкинуть из цепочки сквид и DG а соответсвенно и подключение через их порты тоже не прокатит и в настройках оперы, нужно будет указать какой то другой порт... 8080 видимо, да?

#127577
text
1297335462.692    778 127.0.0.1 TCP_MISS/000 0 GET ftp://ftp.narod.ru/ - DIRECT/213.180.199.127 -
1297335463.969   1232 127.0.0.1 TCP_MISS/000 0 GET ftp://ftp.narod.ru/ - DIRECT/213.180.199.127 -
1297335464.707    690 127.0.0.1 TCP_MISS/000 0 GET ftp://ftp.narod.ru/ - DIRECT/213.180.199.127 -
1297335465.587    879 127.0.0.1 TCP_MISS/000 0 GET ftp://ftp.narod.ru/ - DIRECT/213.180.199.127 -
1297335466.345     80 192.168.1.5 TCP_MISS/200 404 GET http://e.mail.ru/cgi-bin/checknew? - DIRECT/94.100.184.14 text/plain
1297335466.803   1170 127.0.0.1 TCP_MISS/000 0 GET ftp://ftp.narod.ru/ - DIRECT/213.180.199.127 -

Вот. Вывел в реальном времени, обновил страницу. Появились такие строчки...

#127578
text
1297335547.559    579 127.0.0.1 TCP_MISS/503 2473 GET http://ftp.narod.ru/favicon.ico - DIRECT/213.180.199.127 text/html
1297335556.487     91 192.168.1.5 TCP_MISS/200 404 GET http://e.mail.ru/cgi-bin/checknew? - DIRECT/94.100.184.17 text/plain

А вот это если к http://ftp.narod.ru, а не [url]ftp://ftp.narod.ru[/url]/ подключаться

Войдите или зарегистрируйтесь, чтобы ответить.