↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

おのたく日記 [RDF] YouTubeも始めました→


2007-10-15(Mon) やっと出来た「Port番号によってルーティングを変える」 [長年日記]

やっと出来た「Port番号によってルーティングを変える」

おうちサーバで利用しているプロバイダーもOutband Port 25 Block(OP25B)しているので、SMTPで外にメールを送るためにマイIPを利用している。

そのときに、SMTPを張るときにPPTPで接続したマイIPの回線へルーテングする必要がある。

今まではPort番号(SMTPならば25番)でルーテングを掛けられなかったので、SMTPする必要があるメールサーバが出てきた所でひとつづつroute addしていた。(もちろん、mailqの結果を見て自動的に設定していたのだけど…)

これだと、route addされるまでメールが止まるので、不評だった。

そんななか、「15.5. netfilter, iproute2, ipchains, squid を用いた透過 Web キャッシュ」という文章を見つけた。

これを少し改造して、

iptables -A OUTPUT -o eth0 -t mangle -p tcp --dport 25 -j MARK --set-mark 2

iptables -A POSTROUTING -o $PPP_IFACE -t nat -s server -p tcp --dport 25 -j SNAT --to-source $PPP_LOCAL

ip rule add fwmark 2 table 2

ip route add default via $PPP_REMOTE dev $PPP_IFACE table 2

ip route flush cache

という設定を/etc/ppp/ip-up.localで行うことにより、SMTP発信の時にだけPPTP(マイIP)接続にルーティングすることが出来るようになった。

iptablesで、MARKをつけておいて、ip ruleで、そのマーク(今回は2)を見つろるのがミソです。

やったぜ「Port number routing完成!!」

参考: Iptablesチュートリアル 1.2.0 - 6. テーブルとチェーンの道のり

本日のPingbacks(全0件)

Google Web検索 on-o.com内を検索