понедельник, 26 ноября 2012 г.

Туннелирование трафика


# Дано: 

Комп в сети 1.1.1.0/24, имеющий выход на прокси по адресу 1.1.1.150
Прокси в сетях 1.1.1.0/24 и 2.2.2.64/28; default в сторону 2.2.2.65.

# Задача: 

Прокинуть туннель из компьютера в сети 1.1.1.0 на интерфейс,  с которого можно выходить во внешний мир.

# Решение: 



  1. 1. Так как компы находятся в разных сетях, то комп 1.1.1.124 ничего не знает о адресе 2.2.2.77 (адрес прокси). Windows. Задать маршрут:
    route add 2.2.2.77 mask 255.255.255.255 1.1.1.150 -p metric 1
    Направляем пакеты к адресу 2.2.2.77 через прокси-адрес 1.1.1.150. Ключ "-p", заставляет винду запомнить данный маршрут и не сбрасывать при перезагрузке. Теперь адрес отвечает на icmp
  2. Можно строить на него туннель.
    а) В случае с openssh (через cygwin) это выглядит так:
    ssh -f -N -D 5555 username@2.2.2.77 &
    & в конце заставляет программу выполняться даже если было закрыто основное окно cygwin. Если не указать данный параметр, то, как только закроется окно с cygwin, новые соединения будет невозможно установить. б) В случае если есть только PuTTY:
    Создать новое ssh соединения, перейти в меню SSH > Tunnel > Destination port 5555 и обязательно поставить галочку "dynamic".
    В результате всех действий получаем, что открывается сокет на порту 5555, который туннелирует трафик на указанный интерфейс через socks proxy.
  3. Итак, можно использовать программы, которые поддерживают socks proxy, чтобы трафик уходил в сторону туннеля.
    Например указать в браузере адрес 127.0.0.1 и порт 5555 в качестве socks proxy и будут открываться страницы, которые видны через интерфейс 2.2.2.77.
    Или в программе PuTTY при создании соединения, указать, что трафик должен уходить в прокси.



Можно поднять туннель в туннеле.

Через PuTTY:

Поднимаем туннель на порту 5555, а когда делаем новый туннель на адрес, который доступен с внешнего интерфейса уже установленного туннеля, устанавливаем в PuTTY использовать в качестве proxy: 127.0.0.1:5555. Тогда туннель будет установлен через туннель. И остальные программы также смогут использовать данный туннель.

Комментариев нет:

Отправить комментарий