четверг, 7 февраля 2013 г.

Настройка прокcи на роутере с tomato с пробросом в мир

Есть такой классный музыкальный плеер meridian, который замечательо позволяет слушать музыку хоть альбомами, хоть по рейтингу. При чем названия альбомов и песен он берет из last.fm  а вот сами песни из vk.com
Так вот началось все с того, что на работе заблокировали контакт, а на меридиан уже плотно подсел :)
Подумал, перебрал варианты с внешними прокси.бесплатные слишком нестабильны и довольно медленные. Платные, ну вы понимаете.

В итоге решил задействовать домашний интернет для прослушки музыки в качестве прокси.

Дано

  • Дома имеется подключенный к интернет router netgear wnr3500L с установленной на нем прошивкой tomato от toastman последней версии
  • В томато установлен optware для легкой установки пакетов

Выходим за нат

Чтобы  роутер был виден снаружи его необходимо пробросить через нат. Делаю для этого следующее:
1. регистрируюсь на http://www.noip.com/.  Этот сервис позволяет бесплатно получить внешний hostname, к которому можно будет привязан постоянно меняющийся внешний адрес.Сделано, адрес есть:

2. Далее в томато привызаю свой адрес к полученному хостнейму

Все,теперь ваш хост доступен снаружи. Осталось только прокинуть порты для нужных сервисов

Ставим прокси

Выбрал tinyproxy в качестве прокси. При условии, что у вас установлен optware, ставится она одной командой:
ipkg install optware
Далее небольшое редактирование конфигурации /opt/etc/tinyproxy.conf
 Allow 192.168.0.0/24
#User nobody
#Group nobody

Port 2199

после добавление правила Allow у меня заработал доступ со всех внешних хостов
2199 - внутренний порт на роутере, на котором будет крутится прокси

Чтобы прокси была доступна извне делаем еще две вещи:
1. Пробрасываю порт наружу. В tomato меню Portforwarding->Basic добавляем новое правило
Где 192.168.1.1 - адрес моего домашнего роутера
2199 два раза - внешний порт на сервера провайдера будет маппиться на мой внутренний 2199 порт. Указать конечно можно и разные.
2. Иду в tomato Administration->scripts->Firewall. И добавляю следующее правило, чтобы разрешить работу с этим портом:
iptables -I INPUT 1 -p tcp --dport 2199 -j ACCEPT

Далее в томато в Administration->scripts добавляем прокси в автозапуск

Наслаждаемся

все, прокси можно использовать.Я добавил его в отдельный броузер как дефолтный.

Теперь контакт работает отлично, а также доступны мою домашние компьютеры, nas. Очень удобно, рекомендую!