Доступ интернет прокси linux

Использование HTTP proxy и SOCKS в Linux

В Linux существует много полезных консольных команд, которые при необходимости хотелось бы запустить через proxy. Некоторые приложения имеют встроенную поддержку proxy, а некоторые нет. Далее описано как пользоваться востребованными утилитами через proxy, даже теми, которые этой поддержки не имеют.

curl: передача данных через proxy

curl имеет полноценную поддержку как HTTP proxy так и SOCKS.

Для тестирования возможно использовать proxy сервера из бесплатных списков (socks — sockslist.net, и HTTP proxy — proxyhttp.net). Проверка IP адреса будет производиться с помощью ресурса check-host.net

# Проверить HTTP proxy curl --proxy 11.22.33.44:5555 check-host.net/ip # Тоже самое, но если для HTTP proxy требуется авторизация curl --proxy 11.22.33.44:5555 -U username:password check-host.net/ip # Проверить socks4 curl --socks4 11.22.33.44:5555 check-host.net/ip # Проверить socks5 curl --socks5 11.22.33.44:5555 check-host.net/ip # Тоже самое, только преобразование имен идет также через SOCKS # (подробнее о преобразовании имен можно прочитать ниже в подразделе "DNS запросы через proxy") curl --socks5-hostname 11.22.33.44:5555 check-host.net/ip 

Часть параметров curl можно записать в файл ~/.curlrc:

socks5 = 11.22.33.44:5555 proxy-user = username:password user-agent = "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1" 

С помощью time и curl также можно замерить время отклика сервера:

# Без proxy: time curl check-host.net/ip # С proxy: time curl --socks5 11.22.33.44:5555 check-host.net/ip # Или любого сайта: time curl habrahabr.ru 

Результат будет выглядеть так:

real 0m0.307s user 0m0.000s sys 0m0.004s 

wget: закачка файлов через proxy

wget имеет встроенную поддержку proxy. Недостаток лишь в том, что только поддержку HTTP proxy. Для использования совместно с SOCKS рекомендуется использовать соксификатор dante.

 # Скачать файл через proxy: http_proxy="http://33.22.44.44:8080" wget http://www.google.com/favicon.ico Тоже самое, но для HTTPS https_proxy="http://33.22.44.44:8080" wget https://www.google.com/favicon.ico # Использовать proxy с авторизацией http_proxy="http://33.22.44.44:8080" wget --proxy-user=user --proxy-password=password http://www.google.com/favicon.ico 

Чтобы все время не указывать —proxy-user и —proxy-password можно их прописать в файл ~/.wgetrc:

proxy-user = username proxy-password = password user-agent = Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 

ssh: доступ к серверам

Для доступа к серверам через ssh и proxy также лучше использовать соксификатор dante.

Читайте также:  Fsck восстановить файловую систему linux debian

Соксификатор dante

apt-get install dante-client # пример для Debian-based систем 
# Если требуется зайти по ssh на сервер SOCKS_PASSWORD="" SOCKS_SERVER="11.22.33.44:1080" socksify ssh myserver # Тоже самое, только если для подключения к соксу требуется авторизация SOCKS_USERNAME="user" SOCKS_PASSWORD="password" SOCKS_SERVER="11.22.33.44:1080" socksify ssh myserver # Пример с использованием IRC клиента - irssi SOCKS_PASSWORD="" SOCKS_SERVER="11.22.33.44:1080" socksify irssi # Тоже самое, только с использованием HTTP proxy с поддержкой метода CONNECT HTTP_CONNECT_PROXY="http://11.22.33.44:8080" socksify irssi 

С помощью socksify можно направить через proxy почти любое приложение, не только консольное.

Чтобы все время не вводить данные о proxy можно создать файл /etc/socks.conf
Пример для SOCKS:

Пример для HTTP proxy с авторизацией:

А также экспортировать переменные SOCKS_USERNAME и SOCKS_PASSWORD, если для SOCKS или HTTP proxy требуется авторизация:

export SOCKS_USERNAME="username" export SOCKS_PASSWORD="password" 

DNS запросы через proxy

Часто требуется чтобы и преобразование имен происходило через proxy. Если использовать dante, то запрос на преобразование имен идет и через proxy, и через именной сервер указанный в /etc/resolv.conf . Понять почему же идет два одинаковых запроса вместо одного не удалось. Поэтому можно предложить два варианта:
1) Закомментировать именные сервера в файле /etc/resolv.conf, чтобы преобразование имен шло только через proxy. Это отразится на всей системе.
2) Изменить /etc/resolv.conf и выставить именные сервера необходимой страны, или просто отличные от серверов провайдера. Например установить сервера Google:

nameserver 8.8.8.8 nameserver 8.8.4.4 

Чтобы данные не были перезаписаны именными серверами провайдера (при переподключении), можно запретить обновление списка именных серверов сетевому менеджеру (NetworkManager/wicd) или DHCP-клиенту (спасибо ergil за корректировку).

Или воспользоваться «грубым» методом — запрещением изменения файла /etc/resolv.conf:

sudo chattr +i /etc/resolv.conf 

Если есть какие-то дополнения, пожалуйста, напишите, это будет полезно узнать и применить.

Источник

Лучшие прокси серверы Linux

В современных сетях прокси серверы используются достаточно часто. Особенно они полезны на предприятиях, здесь кэширующие прокси серверы могут применяться для снижения нагрузки на сеть, увеличения пропускной способности, экономии трафика и даже для отслеживания действий пользователей и блокировки нежелательных сайтов.

Другая сфера применения прокси серверов — это веб-сайты. Они используются для кэширования сгенерированных страниц, чтобы ускорить загрузку сайтов. В этой статье мы рассмотрим лучшие прокси серверы для Linux, которые вы можете использовать в своих конфигурациях.

Читайте также:  Must have linux applications

1. Squid

Squid — это лучший прокси серевер для Linux с поддержкой таких протоколов, как: HTTP, HTTPS, FTP и многих других. Он позволяет повысить пропускную способность сети и сократить время отклика сайтов путем кэширования ресурсов и страниц. Страницы и файлы, которые запрашиваются часто могут быть использованы повторно. Вы можете настроить кэширование как в оперативную память, так и на жесткий диск, если нужно кэшировать много данных при медленном интернете.

Кроме того, в Squid есть очень широкие возможности контроля доступа к сетевым ресурсам. Вы можете блокировать не только банальные запросы к доменам или загрузку файлов определенных форматов, но и доступ к сети в определенное время, работу протоколов и портов, а также многое другое. Squid поддерживает не только операционную систему Linux, но и Windows. Изначально программа могла работать только в Linux, но затем была портирована и для Windows. Мы уже рассматривали настройку Squid в Ubuntu в одной из предыдущих статей.

2. Privoxy

Это ещё один кэширующий прокси сервер Linux, который устанавливается на стороне клиента. Поддерживаются все основные веб-протоколы. Но он направлен больше не на кэширование контента, а на фильтрацию и защиту конфиденциальности пользователей. С помощью него вы можете изменять интернет-страницы, вырезать рекламу, управлять cookies, ограничивать доступ к некоторым веб-сайтам, а также удалять любой нежелательный контент, управлять отправляемыми заголовками браузера.

В отличие от Squid программа настраивается через веб-интерфейс, и надо сказать, что достаточно удобный. Хотя в некоторых пунктах можно запутаться. При включенном прокси его настройка будет доступна по адресу config.privoxy.org. Кроме веб-интерфейса, можно использовать конфигурационный файл, но он намного сложнее.

3. Polipo

Небольшой, но быстрый кэширующий прокси сервер с открытым исходным кодом, поддерживающий протокол HTTP и DNS. Polipo можно использовать для фильтрации рекламы, повышения приватности или ускорения работы веб-сайтов с помощью кэширования страниц. Также как и Privoxy он рассчитан больше на обеспечение приватности. Настройка программы выполняется через веб-интерфейс, но кроме него, есть несколько графических оболочек, для интерактивного взаимодействия с программой. Поддерживается как Linux, так и Windows.

4. TinyProxy

TinyProxy — это очень простой и легкий прокси сервер с открытым исходным кодом для операционных систем Unix. Он разработан, чтобы быть маленьким и очень быстрым и поддерживает протоколы HTTP и HTTPS. Несмотря на легковесность этот прокси сервер linux поддерживает все необходимые функции, такие как удаленный доступ с помощью веб-интерфейса, фильтрация доступа к ресурсам, фильтрация на основе URL и другое.

Читайте также:  Kaspersky astra linux gui

5. 3Proxy

Это простой, универсальный прокси сервер, рассчитанный больше на контроль доступа к ресурсам. Поддерживаются протоколы работы HTTP, HTTPS, FTP и SOCKS причём для каждого протокола можно настроить и запустить отдельный сервис. Для контроля доступа можно использовать ACL списки. Доступ к прокси можно ограничивать по паролю. Для мониторинга активности пользователей можно использовать лог файл.

6. Gate.js

Gate.js — это что-то новое и очень интересное. Это полнофункциональный кэширующий прокси сервер, написанный на JavaScript с использованием Node.js. Он написан с нуля и призван заменить Squid и Nginx. Он позволяет кэшировать контент, облегчая работу веб-серверам, а также ускоряя загрузку сайтов на стороне клиента. Его главная особенность в масштабируемости, поскольку программа написана на интерпретируемом языке, она может быть легко дополнена.

7. Varnish Cache

В отличие от вышеперечисленных программ, этот прокси сервер рассчитан больше для работы на стороне сервера. Он предназначен для ускорения веб-сайтов. Его современная архитектура дает ему значительную производительность. Varnish Cache хранит веб-страницы в памяти сервера, чтобы программа веб-сервера Apache или Nginx не генерировала ее еще раз. Веб-сервер только обновляет страницы при изменении содержимого. Получение содержимого из памяти выполняется намного быстрее чем полная генерация.

8. Nginx

Все знают Nginx как отличный веб-сервер, рассчитанный на работу под большой нагрузкой. Но кроме этого, он может использоваться в качестве прокси сервера. Nginx не умеет кэшировать или фильтровать содержимое страниц. Но его задача принимать запросы от клиентов на сервере, передача их другим программам, а затем возврат ответа клиенту. Nginx выгодно использовать, потому что эта программа оптимизирована для максимальной производительности и может принимать до 10 000 запросов от пользователей одновременно.

Выводы

В этой статье мы рассмотрели лучшие прокси серверы Linux, возможно, это далеко не все программы, которые стоило бы добавить в этот список. Какие прокси серверы вы используете в своих системах? Какие считаете лучшими? Напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector