[SOLVED] Помогите разобратся с маршрутами
Имеется сеть состоящая из ADSL D-Link DSL-2500U модема смотрящего в интернет стачиным IP Х.Х.Х.Х в сеть IP 192.168.0.1 и компа смотрящего в сеть IP 192.168.0.2 на этой машине запущен SSH, внутри сети логинимся работаем все ок, из вне естественно достучаться до локально машины с адресом 192.168.0.2 немогу.
Вопрос в том как настроить ADSL модем (он же в моем случае роутер, если я хоть что то понимаю) так чтобы можно было из вне стучатся собственно на 22 порт который слушает sshd в локалке на адресе 192.168.0.2
Прошу не нужно подробно описывать следование пакетов и отсылать на туториалы по настройке файрволов, я прекрасно понимаю что в них я полюбому полезу. Просто помогите настроить пожалуйста, а что зачем и почему я уже на работающем примере разберу при помощи манов, туториалов и хаутушек. Очень надеючь на понимание.
P.S.(лирика)
может я конечно отстал от жизни но мне трудно представить что как работает если у меня нет работающего примера, может кто помнит книжки по программированию на Spectrum-BASICе там писали готовый исходник и построчно описывали что как работает, привык я к такому способу освоения компьютера. ПО сути мне нужен просто "исходник" обьяснить что и как работает я думаю понять смогу туториалов море, в любом случае вопрос конкретнее задать смогу
РЕШЕНИЕ!
Проблема была все таки в самом модеме, с данным модемом ещё по воюю, а на данный момент все решено с помощью VirtualServer, имеется в самих модемах D-link. Взял другой модем все сразу же заработало, большое спасибо всем кто помогал. Кстати даже при обращении на 22 порт пакеты правильно раскидываются до сервера. Но прокинул на всякий случай wan-22 -> lan22 и wan-2222 -> lan22
- Для комментирования войдите или зарегистрируйтесь
нужно в модеме
нужно в модеме настроить проброс порта или пробросить все порты, как правило эта функция называется DMZ. и для этого у тебя должен быть реальный ip отдаваемый провом.
IP от провайдера
IP от провайдера есть DMZ в модеме нашол но не могу понять что с эти делать вписать туда можно только один IP какой туда вписать не понимаю
а ты
а ты внимательно читал то что я писал? туда вписывается ip на который модем будет посылать все входящие пакеты.
Наскольно я
Наскольно я понял тебе придется 2 раза пробросить порты. Сначало в модеме завернуть на твой сервер, как тебе и посоветовали (если он НЕ в режиме bridge)
далее, на твоем сервере пробрасываешь порты до локлаьной машины:
в твоём случае
в твоём случае настроика iptables ненужна
Если я всё
Если я всё правильно понял то в моем случае настройка айпитаблов будет выглядеть так
iptables -t nat -A PREROUTING -p tcp -d eth0 --dport 22 -j DNAT --to 192.168.0.1(ip ADSL модема):22
iptables -t nat -A PREROUTING -p udp -d eth0 --dport 22 -j DNAT --to 192.168.0.1(ip ADSL модема):22
Или всётаки в правиле должен фигурировать реальный IP от провайдера? х.х.х.х
немного покавырялся в модеме, в чем приимущества и недостатки моста и как это вообще работает?
И по DMZ если можно немного подробнее
Модем в режим
Модем в режим Bridge.
на модемный интерфейс - X.X.X.X реальный статичный IP,маску,шлюз выданные при подключении.
Ну и фильтрацию настроить:
iptables -P INPUT DROP
iptables -A INPUT -i modem_interface --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i modem_interface -m state --state ESTABLISHED,RELATED -j ACCEPT
Обязательно прочитать это: http://www.opennet.ru/docs/RUS/iptables/
Все.
Спасибо
Большое спасбо буду пробовать, скорее всего в конце недели. Попутно вопрос если перевести модем в режим моста (Bridge) все ли машины из внутреннней сети 192.168.0.0/24 смогут иметь доступ в интернет.
Туториал по iptables уже примерно полгода имею в печатном виде, обычно обращаюсь туда за разяснениями, просто пока не часто сталкиваюс с проблеммами настройки сети и файрволов (спасибо за напоминание ;) )
В случае с DMZ еялия я правильно понял то я указываю IP машины которую следует пускать в мир баз файрвола, вернее на которую без фильтрации пускать все внешние запросы (если я прав кивните если не прав поправте, пожалуйста)
DMZ - это
DMZ - это демилитаризованная зона, модем без вопросов будет туда всё слать. инет у всех отвалится, придётся ставить в этот комп вторую сетевуху и держать его постоянно включенным - ИМХО оверкилл
Доку на модем
Доку на модем почитай внимательно. Нынче модемы умные пошли, они и натят и файрволят и маршрутизируют койкак. Тебе нужно найти место где пробрасываются порты извне внутрь. Это скорее какой нить раздел со словом routing. Надо в настройках пробить чтоб все входящие на порт нумер 22 пересылались на этот же порт внутреннего сервера. И за логами ссх смотри,чтоб не брутфорсили. Я бы отключил PasswordAuthentication в настройках ссх, тогда брутфорсить придеццо не восми-десяти символьный пароль, а эдакий килобайтный закрытый ключ, что много сложней.
как сказать
поумному нужно закрыть вход для рута, и тогда ломать в тупую комбинацию имя-пароль тожек весьма непросто.
По-моему проще
По-моему проще с модема прямо пробрасывать нужный порт на 192.168.0.2
На примере DSL-2460B это делается так - Advanced - Virtual Server - Add - в поле "Select a Service:" выбираешь "Secure Shell Server (SSH)" в поле "Server IP Address:" вбиваем 192.168.0.2
Вся любовь.
Пока не помогло
Странно но не помогло в настройках модема в итоге получил строчку
Secure Shell Server (SSH) 22 22 TCP 22 22 192.168.0.2
Смущает отсутствие UDP или это нормально?
после nmap есть результат
PORT STATE SERVICE
21/tcp open ftp
22/tcp filtered ssh
23/tcp open telnet
80/tcp open http
но связи почему то всеравно нет
>22/tcp filtered ssh у
>22/tcp filtered ssh
у тебя порезан ssh, это раз
какой у модема внешний ip? это два
покажи вывод команды iptables -L -v это три
PS
надеюсь ты запускаеш nmap не из внутренней сети?
Ничего не понимаю
И так
Начну с самого глупого nmap конечно же запускаю из внутренней сети натравливаю на внешний IP (уже понял что не прав но не понимаю почему)
Вопрос о IP не понял IP статичный но я его в самом модеме нигде не прописывал (наверное опять туплю) ip выдан провайдером при подключении предложили купить ещё IP для лругих машин сети если понадобится (пока необходимости не вижу)
для iptables никаких правил сейчас не загружаю вывод команды вот
tux-server ...... # iptables -L -v
Chain INPUT (policy ACCEPT 4045 packets, 233K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 7835 packets, 8088K bytes)
pkts bytes target prot opt in out source destination
после
iptables -P INPUT DROP
iptables -A INPUT -i modem_interface--dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i modem_interface -m state --state ESTABLISHED,RELATED -j ACCEPT
я вообще к серверу достучатся немогу
что правильно писать в место modem_interface? я пишу eth0 интерфейс который смотрит с модемом в одну подсеть
iptables -P INPUT DROP # говорим iptables что сейчас мы зададим политику по умолчанию для цепочки INPUT
iptables -A INPUT -i eth0--dport 22 -j ACCEPT #по умолчанию разрешить принимать пакеты на 22 порт с интерфейса eth0
iptables -A INPUT -p tcp -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT #Уточняем что хотим разрешить принимать пакеты на 22 порт с интерфейса eth0 только по TCP протоколу причем уточняем что нас интересуют пакеты которые "транслируются" на этот интерфейс тоесть которые принадлежат к другому уже существующему соединению (модем-Интернет) соответственно модем должен транслировать эти пакеты на сервер что я собственно и пытаюсь настроить
НО есть одно НО Файрвол на стороне сервера хорошо конечно, однако проблема то в модеме всетаки насколько я понимаю
попросил пропинговать мой IP товарища с украины толи у него что не так толи всётаки у меня но пакеты не проходят!
ТОесть пропинговать мой адрес из вне не получается, даже порсто пропинговать неговоря уже о пакетах на 22 порт!
вот такой вот касяк!
Жду помощи ну и сам конечно кавыряю пока понемногу
из-за отсутствия альтернативного соединения с инетом есть сложности (сами понимаете какие)
если разберусь как настроить инет по GPRS через Alcatel будет проще но это уже ругой вопрос
здесь тебе
здесь тебе рассказали про 2 способа настройки, взаимоисключающих, но видимо ты их совместил.
итак, модем роутером или мостом?
ip входит в диапазоны
если да - он локальный, и никто к тебе недостучится.
ещё раз - ты делаеш модем роутером и пробрасываеш порт на нём,
или
делаеш его мостом и пробуеш понять как работает iptables, но если его отключить то всё будет работать.
P.S. камрад посказал тебе совершенно невменяемо-параноидальные настройки, и скрылся ткнув носом в Доку которую новичёк не осилит. а ты тупо пробил команды, в качестве интерфейса там должен быть ppp0 чаще всего, если это PPPoE
Так отлично в
Так отлично в таком случае проблема в модеме
в режим моста я его ставить пока не пробовал и пока не хочу так как в сети есть ещё два компа, пока нужно чтобы они имели инет независимо от сервера
IP не в один из диапазонов вроде не входит
77.*.*.0/1
так провайдер обазначил выданный IP (* - Это ещё две цыфры вместо нуля я думаю и так ясно что)
проблема видимо всетаки в том, что модем изначально не хочет никак контактировать со внешним мииром, пинги не проходят даже между теми кто подключен в провайдеру и имеет IP из тойже подсети.
ppp0 у меня не поднимается вообще, так как само подключение настроенно на модеме, тоесть для получения инета я просто прописываю днс в /etc/resolfconf и default gw (IP модема) в /etc/conf.d/net
P.S.
Дока по iptables ничуть не пугает, примерно 1,5 года назад настраивал старгазер ради интереса, и естественно писал правила для iptables, не скрою в iptables я не силен, но вышеупомянутая дока действительно полезная вещь, к тому же ткнули туда достаточно коректно, так что все ок
смотри
смотри настройки firewall'а в модеме, вполне вероятно что он пинги режет, но при этом ssh будет работать
firewall Падлючий
firewall Падлючий вообще выключать пробовал толку ноль как не нюхались порты из вне так и не нюхаются, я не имею введу сниферы. Всмысле как не мог подконектися так и не могу, может кто знает как это тмодем настроить так чтобы он пускал юзверя к себе из интернета, я бы тогда хотябы с работы мог модем строить и связь по SSH проверять
http://www.gentoo.ru/node/114
http://www.gentoo.ru/node/11437#comment-77982
DMZ и IP есть как это правильно применить?
И то и другое есть как это применить не понимаю, в DMZ пишу локальный адрес сервера 192.168.0.2 результат нулевой. Что делать с IP выданным провайдером, в таком случае?
а документацию к модему читал?
http://dlink.ru/technical/faq_xdsl_123.php
Читал
Как ни прискорбно но перечитал уже не раз, единственный косяк когда я пробрассываю 22 порт модем меня предупреждает что этот порт используется самим модемом и поэтому рекомендованно использовать порт 2222 но хоть 2222-2222 с WAN на 22-22 сервер хоть 22-22 с WAN на 22-22 сервер, работать почемуто не хочет, уже грешу на модем наиду другой попробую на другом.
Я именно так и пробрасываю
У меня другой DLink, Advanced->Virtual Server->(edit...)->Apply:
Name Helper: SSH
Protocol Type: tcp
Public Port(s): 2222-2222
Private Port(s): 22-22
Private IP: 192.168.0.2
Входящий пакет приходит на X.X.X.X:2222
Модем его пробрасывает на 192.168.0.2:22
Ничего общего с DMZ это не имеет. ;)
С т.з. хоста 192.168.0.2, должен быть открыт порт 22 на прослушивание. /etc/ssh/sshd_config:
Port 22
Protocol 2
AddressFamily inet
ListenAddress 192.168.0.2
Фаер тоже должен пропускать: -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
Проверяем так:
/etc/init.d/sshd start && netstat -Ainet -lp|grep ssh
должен показать один слушающий (LISTEN) процесс
Соединяемся из-вне так: ssh -4 -p 2222 -l username X.X.X.X ;)
РЕШЕНИЕ!Пробле
РЕШЕНИЕ!
Проблема была все таки в самом модеме, с данным модемом ещё по воюю, а на данный момент все решено с помощью VirtualServer, имеется в самих модемах D-link. Взял другой модем все сразу же заработало, большое спасибо всем кто помогал. Кстати даже при обращении на 22 порт пакеты правильно раскидываются до сервера. Но прокинул на всякий случай wan-22 -> lan22 и wan-2222 -> lan22
Модем тот же ADSL D-Link DSL-2500U но правда с немного другой прошивкой и внешне выглядит немного по другому