Сервер TOR + NAT + динамический IP
Система: Debian GNU\Linux (lenny).
TOR: 0.1.2.17
Нахожусь за несколькими NAT серверами, т.е. при создании нового соединения с интернет у меня меняется ip.
В этих условиях пробую запустить tor как сервер, для этого делаю слудущее.
Добавляю в конфиг (серверные опции):
и выполняю команду:
получаю следующий лог-файл:
Есть идеи почему не работает?
Ссылки
[link1] http://ru.wikibooks.org/wiki/Порт/Forwarding
[link2] https://secure.logmein.com/products/hamachi/vpn.asp?lang=ru
[link3] https://forums.hamachi.cc/viewforum.php?f=7
[link4] https://secure.logmein.com/products/hamachi/securityarchitecture.asp?engOK
[link5] http://wiki.noreply.org/noreply/TheOnionRouter/SshPortForwardedTor
[link6] http://www.pgpru.com/comment46949
В доках написано:
Только непонятно, имеется ввиду закомментарить строку "Address" или оставить раскоментаренной, но вместо адреса оставить пустое поле.
Имхо динамический ip и NAT-сервер это несколько разные вещи.
Чтобы, находясь за NAT, сделать порт доступным извне, нужно произвести "перенаправление портов" (англ. Port Forwarding).
Надо определить, где именно находится NAT-устройство.
Если у провайдера.
Такую ситуацию описывают разными словами:
провайдер предоставляет вам интернет через NAT
у вас внутренний («серый») IP адрес
провайдер не даёт вам внешний IP адрес
вы подключены через локальную сеть провайдера
Проще всего позвонить провайдеру и узнать. Или спросить у соседей с таким же подключением. Обычно такой провайдер предоставляет дополнительную услугу «внешний» («белый») IP адрес за отдельную плату.
Без «внешнего IP» сделать себе доступный порт нельзя.
Ваш NAT
В этом случае ваш внешний IP адрес «принадлежит» вам лично, и вы практически всегда можете ваше NAT-устройство настроить[link1] и получить доступный порт.
Насколько я понял, в вашей ситуации возможно придётся проделать и то и другое.
Пробовал и так, и так. Не помогло.
Я вроде уточнил, что имеется ввиду.
Этого сделать нельзя, даже за дополнительную плату.
Это понятно =)
P. S. В TOR, как я понимаю, реализована схема аналогичная P2P. Сервер A, который находится за NAT, периодический опрашивает "центральную директорию" с вопросом, хочет ли другой узел (сервер B, с "внешним" ip) установить соединение. Если да, то сервер A инициирует соединие с сервером B, после чего все последующие данные передаются как обычно.
Ересь!
Есть 2 выхода из ситуации:
И за проходящий трафик придётся платить и провайдеру и этому сервису?
То есть всё равно нужен компьютер с «внешним IP», и без него сделать себе доступный порт таки нельзя! ;)
А прямо здесь и напишите, всё это on-topic.
LogMeIn Hamachi[link2]: VPN с мгновенной, нулевой конфигурацией How to...[link3]
Не знаю, у меня почему-то zero-conf-системы вызывают неоднозначные чувства. Возможно, просто предвзятость...
Для уточнения "знака чувств" можно почитать LogMeIn Hamachi – Security Architecture[link4]
Опять же, в каком смысле "всё равно нужен компьютер с «внешним IP»"?
Вам не нужно покупать реальный IP-адрес, или иметь где-то свой сервер с реальным IP. Вам достаточно иметь шелл на каком-либо компьютере, который обладает реальным IP. Например, на всех таких компьютерах, где я имею шелл, кроме меня его имеют ещё сотни людей, и это не мои серверы – я там обычный пользователь. + Сказанное выше про публичные ssh-сервисы.
Остальные ssh-тулзы будут также работать – им нужно только порт указать правильной опцией:
после чего выполняет третью.
P. S.:
В каталоге /.ssh появится файл server.com.ssh.pub, который нужно скопировать на сервер server.com, положить его в каталог /.ssh с именем authorized_keys (не перепутайте что копируется на сервер...).
в файл /.xinitrc (не в конце :) ) SATtva, а какой у вас оконный менеджер?!
Вместо точки можно писать в этом примере source. С остальными шеллами кажется работает пример с точкой, как написано. source выполняет в текущем шелле по своему смыслу, если ничё не путаю.
P. S.: и пусть подавятся от злости те, кто запрещает расшаривать свои машины за NATом :)
P. S. S.: Да, забыл сказать,
P. P. S: тильды съело :( в путях к домашним директориям, надеюсь, народ поймёть.
...эээ, а куда тут
лошадьTor-сервер привязывать?Это уже второй шаг, надо думать. Конструктивную осуществимость я показал. Может быть, ещё прийдётся поднастроить файерволлы должны образом, может – нет. Например, где-то валялись ссылки на настройки связок PF+tor для чего-то...
Fluxbox. Спасибо за keychain, кстати — полезная утилита, не знал о ней.
Каждый юнксоид должен знать об этом, ну а тот кто гентух – тем более! Оно ж родное для них :)
"Не стыдно чего-то не знать, стыдно — не хотеть учиться", Сократ. ;-Р
Когда появится возможность попробую реализовать через ssh.
P. S. Отдельное спасибо за keychain. Я знал что что-то такое должно быть =)
Не думал, что среди всего вышеизложенного по организации ssh-туннеля самым нетривиальным окажется факт существования keychain :)
Пользуйтесь наздоровье.
http://wiki.noreply.org/norepl...../SshPortForwardedTor[link5]
Я так понимаю, окончательное решение не было найдено. А задача интересная. Очевидно, нам нужен второй компьютер. Который будет принимать входящие от сети Тор. Всё на этом, в идеале его функция завершается. Выполнять функцию исходящего нода и отвечать компьютерам их цепочки мы сможем и без него. Также понятно, что мы должны трогать программу Тор и вносить изменения в её настройки. И задача вполне разрешима. Как, давайте думать.
Если не опускаться до решений типа /comment46949[link6], то это невозможно. Т.е. так или иначе будет нужен постоянный IP и туннель до него. Разве протокол Tor'а предусматривает динамические IP?