id: Гость   вход   регистрация
текущее время 00:27 21/09/2020
Автор темы: serzh, тема открыта 08/10/2007 19:59 Печать
Категории: анонимность
https://www.pgpru.com/Форум/АнонимностьВИнтернет/СерверTORNATДинамическийIP
создать
просмотр
ссылки

Сервер TOR + NAT + динамический IP


Система: Debian GNU\Linux (lenny).
TOR: 0.1.2.17
Нахожусь за несколькими NAT серверами, т.е. при создании нового соединения с интернет у меня меняется ip.
В этих условиях пробую запустить tor как сервер, для этого делаю слудущее.
Добавляю в конфиг (серверные опции):

и выполняю команду:

получаю следующий лог-файл:

Есть идеи почему не работает?


 
На страницу: 1, 2 След.
Комментарии
— unknown (08/10/2007 21:33)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
В доках написано:


Tor can handle servers with dynamic IP addressess just fine. Just leave the "Address" line in your torrc blank, and Tor will guess.


Только непонятно, имеется ввиду закомментарить строку "Address" или оставить раскоментаренной, но вместо адреса оставить пустое поле.
— Гость (09/10/2007 00:30)   <#>
Нахожусь за несколькими NAT серверами, т.е. при создании нового соединения с интернет у меня меняется ip

Имхо динамический ip и NAT-сервер это несколько разные вещи.

ORPort is reachable

Чтобы, находясь за NAT, сделать порт доступным извне, нужно произвести "перенаправление портов" (англ. Port Forwarding).

Надо определить, где именно находится NAT-устройство.

Если у провайдера.

Такую ситуацию описывают разными словами:
провайдер предоставляет вам интернет через NAT
у вас внутренний («серый») IP адрес
провайдер не даёт вам внешний IP адрес
вы подключены через локальную сеть провайдера

Проще всего позвонить провайдеру и узнать. Или спросить у соседей с таким же подключением. Обычно такой провайдер предоставляет дополнительную услугу «внешний» («белый») IP адрес за отдельную плату.

Без «внешнего IP» сделать себе доступный порт нельзя.


Ваш NAT

В этом случае ваш внешний IP адрес «принадлежит» вам лично, и вы практически всегда можете ваше NAT-устройство настроить и получить доступный порт.


Насколько я понял, в вашей ситуации возможно придётся проделать и то и другое.
— serzh (09/10/2007 01:22)   профиль/связь   <#>
комментариев: 232   документов: 17   редакций: 99
Tor can handle servers with dynamic IP addressess just fine. Just leave the "Address" line in your torrc blank, and Tor will guess.

Только непонятно, имеется ввиду закомментарить строку "Address" или оставить раскоментаренной, но вместо адреса оставить пустое поле.

Пробовал и так, и так. Не помогло.

Имхо динамический ip и NAT-сервер это несколько разные вещи.

Я вроде уточнил, что имеется ввиду.

Обычно такой провайдер предоставляет дополнительную услугу «внешний» («белый») IP адрес за отдельную плату.

Этого сделать нельзя, даже за дополнительную плату.

Без «внешнего IP» сделать себе доступный порт нельзя.

Это понятно =)

P. S. В TOR, как я понимаю, реализована схема аналогичная P2P. Сервер A, который находится за NAT, периодический опрашивает "центральную директорию" с вопросом, хочет ли другой узел (сервер B, с "внешним" ip) установить соединение. Если да, то сервер A инициирует соединие с сервером B, после чего все последующие данные передаются как обычно.
— Гость (09/10/2007 02:14)   <#>
Без «внешнего IP» сделать себе доступный порт нельзя.

Ересь!
Этого сделать нельзя, даже за дополнительную плату.

Есть 2 выхода из ситуации:
  • Попросить провайдера сделать вам port forwarding, на ваш компьютер. В этом случае вы будете доступны как-то типа goldentele.com:34567
  • Послать всех лесом и прокинуть ssh_туннель/VPN от вас до любого компьютера, где у вас есть соответствующие полномочия. Мне самому интересен этот вопрос, но я не искал: полагаю, что существуют сервисы, которые за умеренную плату делают port forwarding – вы коннектитесь к указанному серверу по какому-либо шифрованному протоколу, а тот перенаправляет ваш траффик в инет, а из инета – слушает траффик и переправляет его к вам. Кстати, dyndns... не оно ли это? В принципе, многие ssh-сервисы на публичных серверах организаций позволяют делать port-forwarding. Если ваша организация, где вы работаете, не дала вам никакого ssh-аккаунта, то вы можете завести себе бесплатный на каком-либо из публичных ssh-серверов (это бесплатно даже, порой). Другой вопрос уже в том, насколько там будут кастрированы ваши полномочия для проброса порта (делается прогами socat + ssh). Про свой случай могу сказать так: мне часто нужно дать шелл на своей машине, что за натом, другому человеку, который тоже за натом. У меня есть публичный сервис, где у меня есть ssh, я даю права получать шелл на публичном сервисе нужному человеку, после чего я прокидываю туннель от себя на публичный сервер, тот человек также от себя прокидывает туннель на этот публичный сервис, после чего заходит на него на него по ssh, потом с него на ещё один ssh на localhost выбранного порта, и попадает на мою машину. Пароли нигде не передаются, никакие приватные ssh-ключи на публичный сервис не копируются. Если кому-то нужно – могу раписать по командам что и кому нужно выполнить для организации такого тунеля для связи двух машин, обе из которых за натом.
— unknown (09/10/2007 09:23)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
не самому интересен этот вопрос, но я не искал: полагаю, что существуют сервисы, которые за умеренную плату делают port forwarding

И за проходящий трафик придётся платить и провайдеру и этому сервису?
— Гость (09/10/2007 11:23)   <#>
Без «внешнего IP» сделать себе доступный порт нельзя.

Ересь!

прокинуть ssh_туннель/VPN от вас до любого компьютера, где у вас есть соответствующие полномочия

То есть всё равно нужен компьютер с «внешним IP», и без него сделать себе доступный порт таки нельзя! ;)
— SATtva (09/10/2007 19:33)   профиль/связь   <#>
комментариев: 11552   документов: 1036   редакций: 4094
Если кому-то нужно – могу раписать по командам что и кому нужно выполнить для организации такого тунеля для связи двух машин, обе из которых за натом.

А прямо здесь и напишите, всё это on-topic.
— Гость (09/10/2007 20:10)   <#>
LogMeIn Hamachi: VPN с мгновенной, нулевой конфигурацией How to...
— SATtva (09/10/2007 20:42)   профиль/связь   <#>
комментариев: 11552   документов: 1036   редакций: 4094
Не знаю, у меня почему-то zero-conf-системы вызывают неоднозначные чувства. Возможно, просто предвзятость...
— Гость (09/10/2007 23:16)   <#>
неоднозначные чувства

Для уточнения "знака чувств" можно почитать LogMeIn Hamachi – Security Architecture
— Гость (10/10/2007 02:44)   <#>
То есть всё равно нужен компьютер с «внешним IP», и без него сделать себе доступный порт таки нельзя! ;)

Опять же, в каком смысле "всё равно нужен компьютер с «внешним IP»"?
Вам не нужно покупать реальный IP-адрес, или иметь где-то свой сервер с реальным IP. Вам достаточно иметь шелл на каком-либо компьютере, который обладает реальным IP. Например, на всех таких компьютерах, где я имею шелл, кроме меня его имеют ещё сотни людей, и это не мои серверы – я там обычный пользователь. + Сказанное выше про публичные ssh-сервисы.

А прямо здесь и напишите, всё это on-topic.

  • Предполагается, что аутентификация идёт по ssh-ключам, которые лежат в каталоге /.ssh, рекомендуется использовать keychain из проекта Gentoo Linux для автоматической загрузки ssh-ключей в память при открытии нового шелла.
  • Я кидаю от себя туннель на server.com:

  • Напарник от себя кидает встречный туннель на server.com:

  • Напарник заходит по ssh на мой компьютер:

Остальные ssh-тулзы будут также работать – им нужно только порт указать правильной опцией:


  • Если мой компьютер непосредственно виден с сервера (так бывает если server.com есть сервер в моей сети), то я вообще ничего не выполняю, то есть первой команды нет, а напрник выполняет вместо второй команды:

после чего выполняет третью.

P. S.:
  • Чтобы получить аутентификацию по ключам:
    1. Генерируем ключевую пару:

В каталоге /.ssh появится файл server.com.ssh.pub, который нужно скопировать на сервер server.com, положить его в каталог /.ssh с именем authorized_keys (не перепутайте что копируется на сервер...).
    1. Устанавливаем keychain. Добавляем строчку

в файл /.xinitrc (не в конце :) ) SATtva, а какой у вас оконный менеджер?!
    1. В конфиг /.zshrc, если он login-shell, добавляем строку

Вместо точки можно писать в этом примере source. С остальными шеллами кажется работает пример с точкой, как написано. source выполняет в текущем шелле по своему смыслу, если ничё не путаю.

P. S.: и пусть подавятся от злости те, кто запрещает расшаривать свои машины за NATом :)
— Гость (10/10/2007 02:57)   <#>
P. S. S.: Да, забыл сказать,
  • если загрузка ключей идёт автоматом при старте шелла вследствие keychain, то во всех вышеназванных примерах опцию -i с её значением можно не писать.
  • Пусть есть три объекта: моя машина, сервер и вторая заначенная машина. Тогда по своей логике
    • опция -L значит (local) вот что: порт1:хост2:порт2, где порт1 – открытие порта на моей машине, который будет давать доступ на хост2:порт2, котрые видны с сервера.
    • опция -R значит (remote) вот что: порт1:хост2:порт2, где порт1 – открытие порта на сервере, который будет давать доступ на хост2:порт2, который выидны с моей машины.
— Гость (10/10/2007 02:58)   <#>
P. P. S: тильды съело :( в путях к домашним директориям, надеюсь, народ поймёть.
— Гость (10/10/2007 03:05)   <#>
...эээ, а куда тут лошадь Tor-сервер привязывать?
— Гость (10/10/2007 03:55)   <#>
...эээ, а куда тут лошадь Tor-сервер привязывать?

Это уже второй шаг, надо думать. Конструктивную осуществимость я показал. Может быть, ещё прийдётся поднастроить файерволлы должны образом, может – нет. Например, где-то валялись ссылки на настройки связок PF+tor для чего-то...
На страницу: 1, 2 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3