GREとか

IHANetを見て、

  • あー、そういえばうちの会社でBGPとか実際に動かす機会ってまずないよなー
  • quaggaって結局使ってない
  • 興味はあるけどIPv4IPv6も固定持ってないや
  • 知識足りな過ぎて詰まりそう

とか思ったので、自分でちょっと試してみた。いや、ちょっとっていうのは語弊がある程度には時間かかったけど・・・。

詰まった(or 調べる必要があった)ところ

  1. GREのIF用のConfigってどう書くの?
  2. GREのIFにIPv6アドレスが振れない?
  3. あれ、ルーティングテーブルあるのにルーティングされない?

ということで順番に。CentOS5.3に。

1.GREのIF用のConfig

/etc/sysconfig/network-scripts/ifcfg-gre1

DEVICE=gre1
BOOTPROTO=none
TYPE=GRE
ONBOOT=yes
MY_OUTER_IPADDR=
MY_INNER_IPADDR=
PEER_OUTER_IPADDR=

2.GREのIFにIPv6アドレスをふる

で、config書いただけだと例のgre1にIPv6アドレスが付いてない状態でupしてくるので/etc/sysconfig/network-scripts/ifup-tunnel の、

68 /sbin/ip addr add "$MY_INNER_IPADDR" dev "$DEVICE" \
69 ${PEER_INNER_IPADDR:+peer "$PEER_INNER_IPADDR"}
70
71 /sbin/ip link set dev "$DEVICE" up

を、以下のように修正

68 /sbin/ip link set dev "$DEVICE" up
69
70 /sbin/ip addr add "$MY_INNER_IPADDR" dev "$DEVICE" \
71 ${PEER_INNER_IPADDR:+peer "$PEER_INNER_IPADDR"}

ip link~とip addr add~を入れ替えただけ。なんか先にupしないとうまくいかない。でもこれで困ってる人あんまいないみたいなんだけど、みんな解決したから書いてないだけなんだろうか。

3.sysctl設定

/etc/sysctl.conf

net.ipv6.conf.all.forwarding = 1

入れた。別にallじゃなくてもよさそうなんだけど。

あとはIHANetのサイトに書いてあるのそのまんまで行けた。

こういうのをもうちょいサッサと出来るようにならないとだめだよなーと。しかし、仕事で全くrouterとかlinux触らなくなりそうなので残念。