OpenWRTにproxyサーバを導入する(旧)

 

OpenWrtでWeb Proxyをセットアップする(NEW)に移動しました。

いままではPrivoxyを使っていたがどうも表示しないサイトがあるばかりでなく、apt使っても固まったりするので置き換えてみました。

Optional 1: Tinyproxy

ほぼOpenWRTのサイト通りでOKです。

opkg update
opkg install tinyproxy luci-app-tinyproxy

uci set tinyproxy.@tinyproxy[0].enabled=1
uci commit
/etc/init.d/tinyproxy enable
/etc/init.d/tinyproxy restart

uci add firewall redirect
uci set firewall.@redirect[0].name='Transparent Proxy Redirect'
uci set firewall.@redirect[0].src=lan
uci set firewall.@redirect[0].proto=tcp
uci set firewall.@redirect[0].dest_port=8080
uci set firewall.@redirect[0].src_dport=80
uci set firewall.@redirect[0].src_dip='!192.168.1.1'
uci set firewall.@redirect[0].dest_ip=192.168.1.1
uci commit firewall
/etc/init.d/firewall restart

 

/etc/config/firewall:

config redirect 
        option target 'DNAT' 
        option dest 'lan' 
        option enabled '0' 
        option name 'Transparent Proxy Redirect' 
        option src 'lan' 
        option proto 'tcp' 
        option dest_port '8080' 
        option src_dport '80' 
        option src_dip '!192.168.1.1' 
        option dest_ip '192.168.1.1'

/etc/config/tinyproxy:

config tinyproxy
 option User 'nobody'
 option Group 'nogroup'
 option Timeout '600'
 option DefaultErrorFile '/usr/share/tinyproxy/default.html'
 option StatFile '/usr/share/tinyproxy/stats.html'
 option LogFile '/var/log/tinyproxy.log'
 option LogLevel 'Critical'
 option MaxClients '100'
 option MinSpareServers '5'
 option MaxSpareServers '20'
 option StartServers '10'
 option MaxRequestsPerChild '0'
 option ViaProxyName 'tinyproxy'
 option Port '8080'
 option enabled '1'
 list ConnectPort '443'
 list ConnectPort '563'
 list Allow '127.0.0.1'
 list Allow '192.168.1.0/24'

Optional 2: Srelay

Srelayはリポジトリにパッケージがないのでちょっと厄介です。

VB等の仮想空間にDebianなどの開発環境を作ります。

ルーターに合ったSDKをOpenWRTからダウンロードして展開します。

ソースのルートディレクトリに移動しパッケージをコンパイルします。

pushd package
git clone https://github.com/Blaok/openwrt-srelay.git
popd
scripts/feeds install -d m srelay
make package/srelay/compile

bin/${arch}/packages/baseにパッケージが作成します。

ルーターに移動しopkgでインストールします。

/etc/srelay.confファイルを編集します。

192.168.1.0/24 any -

Srelayを起動します。

/etc/init.d/srelay enable
/etc/init.d/srelay start

ブラウザの設定を行います。

SOCKS Host: 192.168.1.1 Port: 1080  SOCKS v5

Optional 3: Polipo

パッケージをインストールします。

opkg install polipo
opkg install luci-app-polipo

ブラウザをポート8123に合わせます。

References: