У Linux існує багато корисних консольних команд, які при необхідності хотілося б запустити через proxy. Деякі додатки мають вбудовану підтримку proxy, а деякі ні. Далі описано як користуватися затребуваними утилітами через proxy, навіть тими, які цієї підтримки не мають.
curl: передача даних через proxy
curl має повноцінну підтримку як HTTP proxy так і SOCKS.
Частина параметрів curl можна записати в файл
Читайте також: Вибираємо операційну систему
За допомогою 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-user та -proxy-password можна їх прописати в файл
ssh: доступ до серверів
Для доступу до серверів через ssh і proxy також краще використовувати соксіфікатор dante.
Читайте також: дистрибутива Debian виповнилося 18 років
apt-get install dante-client # приклад для Debian-based систем
За допомогою socksify можна направити через proxy майже будь-який додаток, не тільки консольне.
Щоб весь час не вводити дані про proxy можна створити файл /etc/socks.conf
Приклад для SOCKS:
route <
from: 0.0.0.0/0 to: 0.0.0.0/0 via: 11.22.33.44 port = 55555
protocol: tcp udp
proxyprotocol: socks_v4 socks_v5
method: none
>
route <
from: 0.0.0.0/0 to: 0.0.0.0/0 via: 11.22.33.44 port = 8080
command: connect
proxyprotocol: http
method: username
>
Читайте також: Установка CentOS 5
export SOCKS_USERNAME = "username"
export SOCKS_PASSWORD = "password"
DNS запити через proxy
Часто потрібно щоб і перетворення імен відбувалося через proxy. Якщо використовувати dante, то запит на перетворення імен йде і через proxy, і через іменний сервер зазначений в /etc/resolv.conf. Зрозуміти чому ж йде два однакових запиту замість одного не вдалося. Тому можна запропонувати два варіанти:
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
Якщо є якісь доповнення, будь ласка, напишіть, це буде корисно дізнатися і застосувати.
Навігація по публікаціям