はじめに
RTX1200を手に入れた後、やりたかった透過proxyサーバへ通信をねじ曲げる方法が調べてもまとまった情報として見つけることが出来なかったのでここにメモする。恐らくは「RTX1200 透過プロキシ」なんかでググっていたのが悪いとは思うものの未だにどう調べればピンとくるんだということが分かっていない。
ip foward コマンド使え
RTX1200がゲートウェイの環境にて透過プロキシを使用したい場合、下記方法で指定したパケットをフォワードする必要がある。参考) パケット転送フィルター
http://www.rtpro.yamaha.co.jp/RT/docs/forward-filter/
例えば、192.168.1.254のアドレスが設定されたRTX1200において192.168.1.2~192.168.1.253までのIPアドレスから外部へのhttp通信をRTX1200から192.168.1.1の透過プロキシサーバにフォワードする場合は下記のconfigになる。
このとき、ループの原因となるためフォワードするIPアドレスの範囲にRTX1200とプロキシサーバのアドレスを含まないようにする。
RTX1200側のconfig
ip lan1 address 192.168.1.254/24
ip lan1 forward filter 100
ip forward filter 100 1 gateway 192.168.1.1 filter 1100
ip filter 1100 pass 192.168.1.2-192.168.1.253 * tcp * www
Linuxで構築されているsquidサーバ
iptablesの記述iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128プロキシの設定(今回はsquidなので/etc/squid.conf )http_port 3128 intercept
その他デフォルトゲートウェイ設定は192.168.1.254 ( <- RTX1200のアドレス)
上記設定で後はsquidのログを確認するとよい。
プロキシサーバが落ちた場合どうするのか?
RTX1200は正常に動いているのにプロキシサーバ側が落ちたらどうするの?ということを考えなければいけないんだけどRTX1200でpingによる死活監視をして切り替えることができるっぽい。ただし、これだけだと多分squidだけが落ちていて192.168.1.1からpingが返ってくると切り替わらない気がする。
参考 ) ネットワークバックアップ機能
http://www.rtpro.yamaha.co.jp/RT/docs/backup/network-backup.html
例えば下記を用意した場合、下記configを使うとプロキシサーバAである192.168.1.1からのpingが帰ってこなくなるとBに切り替えてくれる。
- RTX1200
- プロキシサーバ A 192.168.1.1
- プロキシサーバ B 192.168.1.2 <- AとIPアドレス以外同じ設定
ip lan1 address 192.168.1.254/24
ip lan1 forward filter 100
ip filter 1100 pass 192.168.1.2-192.168.1.253 * tcp * www
ip keepalive 1 icmp-echo 5 5 192.168.1.1
ip forward filter 100 1 gateway 192.168.1.1 filter 1100 keepalive 1
ip forward filter 100 2 gateway 192.168.1.2 filter 1100