Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2828

Linuxのno_proxyでネットワークアドレスを指定する

$
0
0

はじめに

Proxy環境下で検証を行っていると、特定の宛先への通信はProxyを経由して欲しくないと言う場面があります。
通信先が一意に決まっていれば良いのですが、特定のネットワーク宛の通信はProxyを通したくないと言うケースも発生するかと思います。
調べてみたところLinuxの環境変数no_proxyでネットワークアドレスを指定する方法が見当たらなかったので記事にさせていただきました。
※あまりに見つからなすぎて不安なので、間違い等あればコメントいただけると有難いです。

2020/09/23_補足(twitterで親切な方が教えてくれました)

Linuxに設定するno_proxyはあくまで環境変数でしかありません。
実際にはcurlやyumなどLinux上で動作するソフトウェアがno_proxyと言う環境変数を読み込んで動作する形になります。
なので書き方次第であるソフトウェアでは意図した通り認識してくれたけど別のソフトウェアでは意図した通り認識してくれない、なんてことも起こりえます。
以下の例で試したのはcurlによるHTTPリクエスト時にno_proxy設定をネットワークアドレスで読み込ませるケースなので使用するソフトウェアによっては意図した通りに読み込まないかもしれません。

環境

Ubuntu 18.04.4 LTS
(CentOS 7でも同様の動きでした)

設定方法

自身の環境では環境変数no_proxyで以下のようにネットワークアドレスを指定(192.168.2.0/24)することで、
そのネットワーク宛通信はProxyを経由せずに行うことができているように見えました。

~/.bashrc

export http_proxy=http://proxy.example.com:8080/
export https_proxy=http://proxy.example.com:8080/
export no_proxy=127.0.0.1,localhost,192.168.2.0/24

参考

自身が最初に見つけた以下の記事では上記とは異なる方法でネットワークアドレスを指定していました。
ただこのやり方だと対象が多くなった場合に引数が長すぎてvimなどが起動できなくなる問題が発生してしまいます。

no_proxy にネットワークアドレスとかワイルドカードを指定しても期待通りに動かない、でどうするかというお話
https://sechiro.hatenablog.com/entry/2013/08/06/no_proxy_%E3%81%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%A8%E3%81%8B%E3%83%AF%E3%82%A4%E3%83%AB%E3%83%89%E3%82%AB%E3%83%BC%E3%83%89%E3%82%92


Viewing all articles
Browse latest Browse all 2828

Latest Images

Trending Articles