Всем привет!
Занялся настройкой dropbear. В принципе всё простно, но столкнулся с проблемой, которую не смог решить.
Задача.
Сделать доступным ssh из интернета, а так же из пиринговых сетей по нестандартному порту + сделать ограничение на количество попыток коннекта.
Конфигурация.
Интернет по VPN.
Реальный IP адрес.
post-boot файл с маршрутами, выданными провайдером, чтобы работала сеть и интернет одновременно.
Текущее состояние подготовки.
1. Диски маунтить умею
2. Пакеты устанавливать умею
3. Основные команды знаю
4. с IPTables столкнулся впервые 2 дня назад, все вопросы в принципе касаются их.
Для решения данной задачи нашёл на форуме кучу интерпретаций скрипта, описанного по данному адресу:
http://www.sprayfly.com/wiki/SSH_Guide
Приведу его
Code:
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 22 -j DNAT --to-destination $4:22
iptables -A INPUT -j DROP
Сам данный скрипт работает, то есть пускает по 22 порту из интернета, НО не работает из пиринговых сетей.
Так же я так и не смог сделать так, чтобы коннект происходил по нестандартному порту, и потом перенаправлялся на 22.
Отсюда 2 вопроса.
1. Как сделать доступ для пиринговых сетей. Это будет так же актуально, когда я буду понимать ftp сервер.
Насколько я понимаю за это отвечает -i $1, данная строчка обозначает интерфейс.
http://wl500g.info/showthread.php?t=...F2%E0%EA%EE%E5 - вот тут прочитал что такое eth, vlan и т.д. На форуме в рахных интерпретациях данного скрипта использовали и ppp0 и vlan1 и $1 и т.д.
1. Скажите пожалуйста что необходимо использовать мне, чтобы доступ был и из интернета, а так же из пиринговых сетей.
2. Что такое $1 и $4? Нашёл что вместо $3 будет подставляться br0, но к сожалению не до конца понимаю смысл br0.
2. Каким образом перенаправлять пакеты? То есть открыть наружу нестандартный порт, и с него сделать перенаправление на 22.
Сделав следующие изменения, у меня был открыт 22 и 447 порты (проверял вот тут http://www.pcflank.com/scanner1.htm), и ssh работал из интернета по 22 и 447 портам (как такое может быть???), а необходимо было, чтобы извне доступ был только по 447.
Code:
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 447 -j DNAT --to-destination $4:22
iptables -A INPUT -j DROP
Если честно не совсем понимаю логику.
Строчкой номер 2 мы открываем 22 порт по tcp протоколу. А строчкой номер 3 перенаправляем с 447 на 22. И это работает. Объясните пожалуйста. Так же непонятно следующее.
Если в строке номер 2 22 порт заменить на 447, то тогда вообще ничего не работает, то есть даже 447 порт не доступен снаружи.
И плюс непонятно, вот в том примере, который по ссылке http://www.sprayfly.com/wiki/SSH_Guide. Зачем сначала открывать 22 порт, а потом с него на него же перенаправлять пакеты?
Вот пока что и все вопросы. Буду очень благодарен за помощь.
Понятно, что уровень подготовки у меня маленький, но на форуме 2 дня поиском не прошли даром, всё таки что-то стал понимать, так же потихоньку читаю документацию по iptables, разбираюсь с синтаксисом и логикой.