У меня был другой вопрос на сайте askUbuntu, и я перенес эту версию с вопроса о сбое сервера, так как я считаю, что Super User - это лучшее место, где можно его задать .
Фон:
У меня есть локальная (Drupal) среда разработки, состоящая из сервера LAMP, работающего на виртуализированной ОС Xubuntu 12.04 с хост-ОС Ubuntu 12.04. Мостовая сеть не включена.
Я хотел бы начать экспериментировать с аспектами интеграции Web 2.0 в Drupal (т.е. Интеграция с YouTube и Facebook), но все эти сайты блокируются режимом массовой фильтрации, который включает как минимум блокировку IP-адресов, DNS-фильтрацию, URL-фильтрацию и фильтрацию пакетов - и использует пакеты для сброса соединения для обеспечения соблюдения этих правил. Похоже, что некоторые интернет-провайдеры также используют глубокую фильтрацию пакетов для обнаружения ssh-туннелей, которые затем ограничиваются пропускной способностью - к счастью, мой интернет-провайдер в моей квартире в настоящее время этого не делает. Иностранцам не запрещено использовать прокси /vpns / и т.д. до тех пор, пока они не используют их, чтобы нарушить закон (то есть делиться запрещенными материалами с гражданами Китая).
Для обычного просмотра веб-страниц и других задач, требующих доступа к заблокированному контенту, я использую туннель ssh к серверу (Ubuntu Server 10.04, с включенными только ssh и openvpn) в другой стране в качестве прокси-сервера socks5. Chromium и Firefox могут отправлять DNS-запросы через прокси-сервер socks5 (первый по умолчанию, а второй - путем изменения настроек конфигурации). Это решение отлично работает для всех подключений на стороне браузера к закрытым сайтам.
Тем не менее, многие из модулей Drupal для интробации web 2.0 также требуют, чтобы сам сервер запрашивал ограниченные внешние сайты.
Мой вопрос:
Каков наилучший способ прохождения через мой ssh-туннель и прохождения режима фильтрации:
- Все внешние запросы и DNS-запросы с моего сервера Apache2,
или же
- Только запросы (и DNS-запросы) с моего сервера Apache2 на указанные хосты?
Рассмотренные / Попытки Решений
- Простейшим решением было бы использовать сервер LAMP на машине вне режима фильтрации (тот, к которому я обращаюсь). Однако я предпочел бы не делать этого по ряду причин (нет физического доступа к этой машине, если что-то пойдет не так, устаревшее оборудование, если я потеряю соединение с этим сервером, я не смогу продолжить разработку и т.д.)
Использовать глобальные настройки прокси-сервера - Xubuntu не имеет возможности для глобальных настроек socks5, согласно моим исследованиям. Также я не знаю, поймет ли это мои DNS-запросы.
используйте
tsocks
: кажется, это лучший кандидат, но у меня есть две проблемы / вопросы:Где находится скрипт, который запускает / перезапускает Apache2, чтобы я мог вводить эти команды с помощью
tsocks
?Как мне перехватить и перенаправить DNS-запросы через прокси socks5?
Редактирование файла
/etc/hosts/
предоставляет ограниченный обходной путь, но такие сайты, как youtube.com, загружают мультимедиа и другой контент с такого количества внешних сайтов (и, следовательно, URL-адресов), что отслеживать все эти (возможно, сброс подключения) сторонние URL-адреса практически невозможно , Использованиеsocat
для захвата, преобразования и отправки трафика UDP через прокси-сервер socks5 (как описано здесь) кажется хорошим решением, но я не смог реализовать его, как описано в связанном руководстве. (Если подтверждено, что использованиеsocat
является правильным способом решения моей проблемы, я могу опубликовать команды, которые я использую, для проверки)