SaaSes VPS 構築記(3)

さて、L2VPN、何でやろうかと考えたけど、OpenVPNとかは面白くないので、いきなりLinuxでEtherIPにチャレンジ。

情報がどっかに転がっているかなぁ、と探してたら、やっぱりIHANetに情報が転がっていた。つうことで、IHANet EtherIPのページを見たら、あっさり成功:-)

やったことといえば、
/lib/modules/2.6.18-164.15.1.el5xen/modules.dep に、
/lib/modules/2.6.18-164.15.1.el5xen/kernel/net/ipv4/etherip.ko:
を追加して、cp -p etherip.ko /lib/modules/2.6.18-164.15.1.el5xen/kernel/net/ipv4
を実行したくらい?
んでもって、

# /sbin/modprobe etherip
# ./ethiptunnel -a -d <接続先のIPv4アドレス> -s <自分のIPv4アドレス> -n
# /sbin/ip link set mtu 1500 up
# /sbin/ip addr add dev
# /sbin/ip addr add 192.168.6.2 netmask 255.255.255.0 peer 192.168.6.1 dev
# /sbin/ip route add 192.168.0.0/16 192.168.6.1

てな感じかな。接続先はFreeBSDのサーバーなので、IHANet EtherIPと同じページにあるFreeBSD用の設定をパクリ。つうか、あっちは自分で書いた奴だから、昔の設定を参照って事で。

# /sbin/ifconfig gifN create
# /sbin/ifconfig gifN tunnel <自分のIPV4ADDRESS> <相手のIPV4ADDRES> mtu 1500 up
# /sbin/ifconfig bridgeM create
# /sbin/ifconfig bridgeM addm gifN
# /sbin/ifconfig bridgeM inet6
# /sbin/ifconfig bridgeM inet 192.168.6.1/24 192.168.6.2
# /sbin/route add -inet 192.168.0.0/16 192.168.6.1

んでもって、EtherIPを使うには、Ethernet deviceとブリッジしないと使えないので、
# /sbin/ifconfig bridgeM addm re0
とかしてブリッジ。

ついでに、SaaSesのサーバー側で
# echo 1 > /proc/sys/net/ipv4/ip_forward
# /sbin/iptables -A INPUT -i -s 192.168.0.0/16 -j ACCEPT
# /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# /sbin/iptables -A INPUT -s <自組織のIPアドレス> -i eth0 -j ACCEPT
# /sbin/iptables -A INPUT -p gre -j ACCEPT
# /sbin/iptables -P INPUT DROP
# /sbin/iptables -A INPUT -p gre -j ACCEPT
# /sbin/iptables -A OUTPUT -p gre -j ACCEPT
# /sbin/iptables -P OUTPUT ACCEPT
# /sbin/iptables -A FORWARD -i -o eth0 -s 192.168.0.0/16 -j ACCEPT
# /sbin/iptables -A FORWARD -m --state ESTABLISHED,RELATED -j ACCEPT
# /sbin/iptables -P FORWARD DROP
# /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/16 -j MASQUERADE
# /etc/init.d/iptables save
こんな感じに書いておくと、tunnel I/Fから入ってきたアドレスが、eth0デバイスから出ていくときに、NATをかけられるようになるんで、まぁいろいろできるわけだ。

つーことで、ここまでやっちゃうと、実はEtherIPプロトコル、いらねんじゃね? って事になるので、IPIP tunnelかGRE tunnelで張り直すことに。構築記の(2)で書いたものに、Linux側は
# /sbin/ip addr add 192.168.6.2 peer 192.168.6.1 dev
# /sbin/ip route add 192.168.0.0/16 dev
を追加。FreeBSD側は、
# /sbin/ifconfig gre0 inet 192.168.6.1 192.168.6.2
# /sbin/route add -inet 192.168.0.0/16 192.168.6.1
を追加するくらいかな。これに、SaaSesサーバー経由で出ていきたい経路をスタティックで書く、と。
# /sbin/route add -inet 172.16.0.0/16 -interface gre0
みたいな感じで。あとは、自宅内のルーティングをいろいろいじって、FreeBSDサーバー経由で出ていくようにする、と。

結果、SaaSesのサーバーつかえばやりたいことができちゃったので、このままSaaSesを本契約して、ServersMan@VPSとインターリンク myIPは不要ということに。一番安くて一番やりたいことができちゃったので、素晴らしすぎるなぁ。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント