<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>プロキシ on えやみぐさ</title>
    <link>https://blog.aoirint.com/tags/%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7/</link>
    <description>Recent content in プロキシ on えやみぐさ</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>ja</language>
    <lastBuildDate>Mon, 21 Jun 2021 18:40:00 +0900</lastBuildDate>
    <atom:link href="https://blog.aoirint.com/tags/%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>透過プロキシ（macOS, go-transproxy）</title>
      <link>https://blog.aoirint.com/entry/2021/transproxy_macos/</link>
      <pubDate>Mon, 21 Jun 2021 18:40:00 +0900</pubDate>
      <guid>https://blog.aoirint.com/entry/2021/transproxy_macos/</guid>
      <description>&lt;h2 id=&#34;環境変数&#34;&gt;環境変数&lt;/h2&gt;
&lt;p&gt;シェル起動時にネットワーク設定からプロキシ設定を環境変数に読み出すようにしている場合、GUIで設定すればOK。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HTTP_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http://proxy.example.com:8080/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HTTPS_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http://proxy.example.com:8080/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export NO_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;localhost,127.0.0.0/8,::1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;NO_PROXYには必ずlocalhost/ローカルループバックアドレスを設定しておくこと（無限ループする）。&lt;/p&gt;
&lt;h2 id=&#34;ビルド&#34;&gt;ビルド&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/wadahiro/go-transproxy&#34;&gt;https://github.com/wadahiro/go-transproxy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/wadahiro/go-transproxy.git
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd go-transproxy/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ls go-transproxy/bin/transproxy
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# check network device name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ifconfig
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;transproxypfconf&#34;&gt;~/transproxy/pf.conf&lt;/h2&gt;
&lt;p&gt;MacBookの無線LANカード：&lt;code&gt;en0&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Mac miniなどの場合はNIC名が異なる場合があるので注意。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-pf&#34; data-lang=&#34;pf&#34;&gt;Packets = &amp;#34;proto tcp from en0 to {!192.168.0.0/16}&amp;#34;
rdr pass log on lo0 $Packets port 80 -&amp;gt; 127.0.0.1 port 3129
rdr pass log on lo0 $Packets port 443 -&amp;gt; 127.0.0.1 port 3130
pass out on en0 route-to lo0 inet $Packets port {80, 443} keep state
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;有効化&#34;&gt;有効化&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo pfctl -ef ~/transproxy/pf.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transproxy -disable-iptables
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;無効化&#34;&gt;無効化&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# stop transproxy process (Ctrl+C)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# reset pf configs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo pfctl -df /etc/pf.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/informationsea/items/094146d0a811f3edc96b&#34;&gt;Macでプロキシとの戦いに疲れたので、透過型プロキシを導入してみた - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>透過プロキシ（Ubuntu, go-transproxy）</title>
      <link>https://blog.aoirint.com/entry/2021/transproxy_ubuntu/</link>
      <pubDate>Mon, 21 Jun 2021 18:10:00 +0900</pubDate>
      <guid>https://blog.aoirint.com/entry/2021/transproxy_ubuntu/</guid>
      <description>&lt;h2 id=&#34;etcsudoers&#34;&gt;/etc/sudoers&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-sudoers&#34; data-lang=&#34;sudoers&#34;&gt;Defaults        env_keep+=&amp;#34;HTTP_PROXY&amp;#34;
Defaults        env_keep+=&amp;#34;HTTPS_PROXY&amp;#34;
Defaults        env_keep+=&amp;#34;NO_PROXY&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;環境変数&#34;&gt;環境変数&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HTTP_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http://proxy.example.com:8080/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export HTTPS_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http://proxy.example.com:8080/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export NO_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;localhost,127.0.0.0/8,::1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;NO_PROXYには必ずlocalhost/ローカルループバックアドレスを設定しておくこと（無限ループする）。&lt;/p&gt;
&lt;p&gt;デスクトップの場合はGUI設定でOK。&lt;/p&gt;
&lt;h2 id=&#34;usrlocalbintransproxy&#34;&gt;/usr/local/bin/transproxy&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/wadahiro/go-transproxy&#34;&gt;https://github.com/wadahiro/go-transproxy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;usrlocalbintransproxy-start&#34;&gt;/usr/local/bin/transproxy-start&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -eu
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# iptables -t nat -I OUTPUT -p tcp --dport 53 -j REDIRECT --to-ports 3131&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# iptables -t nat -I OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 3131&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iptables -t nat -I OUTPUT -p tcp --dport &lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt; -j REDIRECT --to-ports &lt;span style=&#34;color:#ae81ff&#34;&gt;3129&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iptables -t nat -I OUTPUT -p tcp --dport &lt;span style=&#34;color:#ae81ff&#34;&gt;443&lt;/span&gt; -j REDIRECT --to-ports &lt;span style=&#34;color:#ae81ff&#34;&gt;3130&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;transproxy -disable-iptables &lt;span style=&#34;color:#75715e&#34;&gt;# -dns-over-https-enabled&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;usrlocalbintransproxy-stop&#34;&gt;/usr/local/bin/transproxy-stop&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;set -eu
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# iptables -t nat -D OUTPUT -p tcp --dport 53 -j REDIRECT --to-ports 3131&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# iptables -t nat -D OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 3131&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iptables -t nat -D OUTPUT -p tcp --dport &lt;span style=&#34;color:#ae81ff&#34;&gt;443&lt;/span&gt; -j REDIRECT --to-ports &lt;span style=&#34;color:#ae81ff&#34;&gt;3130&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;iptables -t nat -D OUTPUT -p tcp --dport &lt;span style=&#34;color:#ae81ff&#34;&gt;80&lt;/span&gt; -j REDIRECT --to-ports &lt;span style=&#34;color:#ae81ff&#34;&gt;3129&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;iptablesのルールを書き換えるため、実行時にはroot権限が必要。&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Port Forwardingを使ってNAT間で通信するPort Proxy Server in Docker</title>
      <link>https://blog.aoirint.com/entry/2021/ssh_proxy_server_docker/</link>
      <pubDate>Sun, 21 Mar 2021 03:32:29 +0900</pubDate>
      <guid>https://blog.aoirint.com/entry/2021/ssh_proxy_server_docker/</guid>
      <description>&lt;h2 id=&#34;sshポートフォワーディング踏み台による中継接続&#34;&gt;SSHポートフォワーディング：踏み台による中継接続&lt;/h2&gt;
&lt;p&gt;SSHポートフォワーディングには、
ローカルポートフォワーディング、
リモートポートフォワーディングの2種類があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/mechamogera/items/b1bb9130273deb9426f5&#34;&gt;sshポートフォワーディング - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ローカルポートフォワーディングでは、
SSHサーバ側から見えるネットワークポートを
SSHクライアント側に転送することができます。
例えば、ファイアウォール（NAT）に守られたネットワーク（ネットワークA）内にあるWebサーバ（ホストX）に
外部ネットワーク（ネットワークB）にあるクライアント（ホストY）から接続したいとき、
踏み台となる、ネットワークBから接続可能なSSHサーバ（ホストZ）がネットワークA内にあれば、
ホストYがホストZにSSH接続することで、
ホストXのWebサーバのネットワークポートに、
ホストYの指定したポートから接続できるようになります
（「ホスト」は「各ネットワークに接続した、NICに割り当てられたIPアドレス」に対応）。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user@hostY.networkB.example: $ ssh user@hostZ.networkA.example -L &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;127.0.0.1:10080:hostX.networkA.example:80&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user@hostY.networkB.example: $ wget http://127.0.0.1:10080/index.html
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I am &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hostX.networkA.example:80&amp;#34;&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;リモートポートフォワーディングでは、
SSHクライアント側から見えるネットワークポートを
SSHサーバ側に転送することができます。
先の例でいうと、ホストXがネットワークBに接続していて、
ファイアウォール（NAT）によってネットワークAにあるホストZから接続できないとき、
ホストYがホストZにSSH接続することで、ホストZからホストXに接続できるようになります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user@hostY.networkB.example: $ ssh user@hostZ.networkA.example -R &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;127.0.0.1:10080:hostX.networkB.example:80&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;user@hostZ.networkA.example: $ wget http://127.0.0.1:10080/index.html
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I am &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;hostX.networkB.example:80&amp;#34;&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;この方法は、ネットワーク内のあるホストにSSH接続ができる環境さえあれば、
VPNや他のTCPプロキシをセットアップするより簡単に隠されたネットワークにアクセスすることができるように思います。&lt;/p&gt;
&lt;h2 id=&#34;ポートプロキシサーバ2種類のsshポートフォワーディングの組み合わせ&#34;&gt;ポートプロキシサーバ：2種類のSSHポートフォワーディングの組み合わせ&lt;/h2&gt;
&lt;p&gt;ここで、別の構成のネットワークについても考えてみます。
新しくネットワークCを導入して、
ホストXはNAT内のネットワークC（&lt;code&gt;hostX.networkC.example&lt;/code&gt;）、
ホストYはNAT内のネットワークB（&lt;code&gt;hostY.networkB.example&lt;/code&gt;）、
ホストZはネットワークB、Cからともに接続可能なネットワークA（&lt;code&gt;hostZ.networkA.example&lt;/code&gt;）
という構成を考えてみます。&lt;/p&gt;
&lt;p&gt;この構成で、ホストYからホストXに接続可能な環境を作るには、次のような手順が考えられます。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ホストXからホストZにSSH接続し、リモートポートフォワーディングによってホストZ上の&amp;quot;ポートQ&amp;quot;をホストX上の&amp;quot;ポートP&amp;quot;に転送する&lt;/li&gt;
&lt;li&gt;ホストYからホストZにSSH接続し、ローカルポートフォワーディングによってホストY上の&amp;quot;ポートR&amp;quot;をホストZ上の&amp;quot;ポートQ&amp;quot;に転送する&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;これにより、ホストYは、自身のポートRを使って、ホストXのポートPに接続することができます。
もしホストXに物理的にアクセスできない環境でも、
あらかじめホストXをホストZに常時接続するように設定しておけば、
その接続（ポートQからポートPへの転送）が生きている限り、好きなタイミングでホストYからホストXに接続（ポートRからポートQへの転送、すなわちポートRからポートPへの転送）することができます。&lt;/p&gt;
&lt;h2 id=&#34;ssh-port-forwardingを使ったport-proxy-server-in-docker&#34;&gt;SSH Port Forwardingを使ったPort Proxy Server in Docker&lt;/h2&gt;
&lt;p&gt;前項のポートプロキシサーバの問題として、次の3つを考えました。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ubuntu プロキシ設定</title>
      <link>https://blog.aoirint.com/entry/2020/ubuntu_proxy/</link>
      <pubDate>Fri, 02 Oct 2020 15:40:00 +0900</pubDate>
      <guid>https://blog.aoirint.com/entry/2020/ubuntu_proxy/</guid>
      <description>&lt;h2 id=&#34;user-desktop-settings--network--network-proxy&#34;&gt;User (Desktop): Settings &amp;gt; Network &amp;gt; Network Proxy&lt;/h2&gt;
&lt;p&gt;Settings &amp;gt; Network &amp;gt; Network Proxy &amp;gt; Manualに設定する。
自動的に環境変数HTTP_PROXY, HTTPS_PROXYにスキームが追加された状態で設定される。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTTP Proxy: &lt;code&gt;proxy&lt;/code&gt; &lt;code&gt;port&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;HTTPS Proxy: &lt;code&gt;proxy&lt;/code&gt; &lt;code&gt;port&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Ignore Hosts: &lt;code&gt;localhost, 127.0.0.0/8, ::1&lt;/code&gt;（プライベートネットワーク・組織内ネットワークのIPアドレス範囲またはドメインも追加する）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;curlやwget、pipなど主要コマンドは
注意点として、別ユーザとしてコマンドを実行すると環境変数が引き継がれない。
例えばsudo curlしたときにプロキシに接続しにいかない。&lt;/p&gt;
&lt;h2 id=&#34;etcsudoers&#34;&gt;/etc/sudoers&lt;/h2&gt;
&lt;p&gt;sudoでコマンドを実行したとき、実行時シェルに設定されている環境変数を引き継ぐようにする。
sudoersは書き込み禁止になっているためvisudoで編集する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# run as root&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;visudo -f /etc/sudoers
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-sudoers&#34; data-lang=&#34;sudoers&#34;&gt;Defaults env_keep+=&amp;#34;HTTP_PROXY&amp;#34;
Defaults env_keep+=&amp;#34;HTTPS_PROXY&amp;#34;
Defaults env_keep+=&amp;#34;NO_PROXY&amp;#34;
Defaults env_keep+=&amp;#34;EDITOR&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;etcenvironment&#34;&gt;/etc/environment&lt;/h2&gt;
&lt;p&gt;システム全体の環境変数として設定される。影響範囲が大きいので注意。
デスクトップユーザではSettings側の設定（Disabledなら設定されない）が優先されるようだった。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-env&#34; data-lang=&#34;env&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HTTP_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http://proxy:port
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HTTPS_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http://proxy:port
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;NO_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;localhost, 127.0.0.0/8, ::1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;apt-etcaptaptconf&#34;&gt;apt: /etc/apt/apt.conf&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-apt&#34; data-lang=&#34;apt&#34;&gt;Acquire::http::proxy &amp;#34;http://proxy:port&amp;#34;;                             
Acquire::https::proxy &amp;#34;http://proxy:port&amp;#34;;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;snap-systemctl-edit-snapdservice&#34;&gt;Snap: systemctl edit snapd.service&lt;/h2&gt;
&lt;p&gt;/etc/systemd/system/snapd.service.d/override.confにsystemdの設定ファイルを作成する。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
