Linuxには、必要に応じてプロキシ経由で実行したい便利なコンソールコマンドが多数あります。 一部のアプリケーションにはプロキシサポートが組み込まれていますが、組み込まれていないアプリケーションもあります。 以下は、プロキシを介して一般的なユーティリティを使用する方法を説明しています。
curl:プロキシを介したデータ転送
curlは、HTTPプロキシとSOCKSの両方を完全にサポートしています。
テストのために、フリーリスト(
socks-sockslist.netおよびHTTPプロキシ
-proxyhttp.net )からプロキシサーバーを使用できます。 IPアドレスの確認は、
check-host.netリソースを使用して行われます
一部の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"
時間とカールを使用して、サーバーの応答時間も測定できます。
結果は次のようになります。
real 0m0.307s user 0m0.000s sys 0m0.004s
wget:プロキシ経由でファイルをアップロードします
wgetには組み込みのプロキシサポートがあります。 唯一の欠点は、HTTPプロキシのみがサポートされることです。 SOCKSと組み合わせて使用する場合は、
danteソックスを使用することをお勧めします。
常に--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およびプロキシ経由でサーバーにアクセスするには、
dante sockifierを使用することをお勧めします。
ソキシファイアーダンテ
インストール:
apt-get install dante-client
使用法:
socksifyを使用すると、コンソールアプリケーションだけでなく、ほぼすべてのアプリケーションをプロキシ経由でルーティングできます。
常にプロキシデータを入力しないようにするには、ファイル
/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 }
許可付きのHTTPプロキシの例:
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 }
また、SOCKSまたはHTTPプロキシに認証が必要な場合は、変数SOCKS_USERNAMEおよびSOCKS_PASSWORDをエクスポートします。
export SOCKS_USERNAME="username" export SOCKS_PASSWORD="password"
プロキシを介したDNSクエリ
多くの場合、プロキシを介した名前変換も必要です。 danteを使用する場合、名前解決要求はプロキシと
/etc/resolv.confで指定されたネームサーバーの両方を介して送信されます。 1つではなく2つの同一のリクエストがある理由を理解することはできませんでした。 したがって、次の2つのオプションを提供できます。
1)
/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
追加がある場合は、書いてください。見つけて適用すると便利です。
追加情報:
man socks.conf男靴下男のカール