せっかく今回、SEIL/x86をちゃんと使ってみたので、コマンド関係をまとめておく。
今回取った構成
SEIL/x86はRouterboardと内部サーバセグメントの中間に位置しており、上図の通り接続されている。インタフェースは2つ存在しており、SEIL/x86から見て、lan0を内部、lan1を外部用途に使用する。
RTX-3000はHE Tunnel BrokerとHomenoc両方のアドレスを所持しており、これがルーティングの境界になる。ここでRIPngで動的に経路交換を行わせる。なお、IHAnet用Cisco1812Jではルーティングフィルタを掛けることで、Routerboard(RB2011)に対してはRedistribute設定を無効化することでRIPngの経路は内部限定で伝搬する構成としている。
IPv6クライアントセグメント及びブログサーバに繋がるIPv6 Web DMZセグメントはSophos XG Firewallと言うUTM配下にあるが、IPv6の動的ルートがうまく構成できないため、静的ルートを構成し、SEIL/x86側で静的ルートをRIPngにRedistributeさせる構成としている。
ホスト名の設定
hostname "kaede"
Timezoneの設定
timezone "Japan"
SSHの有効化
sshd enable
NTPの有効化
ntp enable ntp peer add 192.168.***.*** ntp peer add 192.168.***.***
SNMPの有効化
snmp enable snmp community "bcorecomm" snmp security-model community-based on
syslog転送設定有効化
syslog debug-level off syslog remote on syslog remote-server add brahma address 192.168.***.***
DNSレゾルバの有効化
resolver enable resolver domain "bluecore.net" resolver address add 192.168.***.*** resolver address add 192.168.***.***
IPv4(管理用)アドレスの付与
管理用途で使用する内部向けアドレスを割り当てる。
interface lan0 add 192.168.***.***/24
IPv6アドレスの付与
lan0にはサーバ向けアドレスを、lan1にはHomenoc外接向けアドレスをそれぞれ割り当てる。
interface lan0 add 2403:****:****:****::2/64 interface lan1 add 2403:****:****:****::fffd/64
管理用経路の設定
管理用途通信は内部コアL3に接続する。
route add default 192.168.***.254
静的経路の構成
Sophos XG Firewallの制約上、RIPngができないので、関連する経路は静的ルートとして定義する。デフォルトゲートウェイはRB2011を指定する(これは念のため)。
route6 add default 2403:****:****:****::fffe route6 add 2403:****:****:****::/64 2403:****:****:****::3 route6 add 2403:****:****:****::/64 2403:****:****:****::3
動的ルーティングの構成(RIPng)
RIPngを有効瑕疵、lan[01]共に有効化する。静的ルート及び直結ルートはRIPngにredistributeする。
route6 dynamic ripng enable route6 dynamic ripng interface lan0 enable route6 dynamic ripng interface lan1 enable route6 dynamic redistribute static-to-ripng enable route6 dynamic redistribute connected-to-ripng enable
IPv4用フィルタの作成
管理用接続として使用するIPv4フィルタを設定するが、デフォルト設定を流用している。
filter add seil_ctl_lan0 interface lan0 direction in action pass protocol tcp src 192.168.0.0/24 srcport 0-65535 dst self dstport 0-65535 state disable logging off enable filter add telnetd_block interface any direction in action block protocol tcp srcport 0-65535 dst self dstport 23 state disable logging on enable filter add httpd_block interface any direction in action block protocol tcp srcport 0-65535 dst self dstport 80 state disable logging on enable
IPv6用フィルタの作成
IPv6用フィルタの定義を行う。
- 本番Mastodonサーバに対する80/tcp及び443/tcpを許可する。(同様にブログサーバのアドレスにも同じものを入れてるが記載を割愛している)
- 管理用接続の許可ということで、内部からのリンクローカルアドレスに対する許可を行う。
- 内部⇒外部に対するアクセスを許可する
- 外部⇒内部に対するアクセスは拒否する
filter6 add MSTDN_PRD_HTTPS interface lan1 direction in action pass protocol tcp srcport 0-65535 dst 2403:****:****:****::11/128 dstport 443 state disable logging on enable filter6 add MSTDN_PRD_HTTP interface lan1 direction in action pass protocol tcp srcport 0-65535 dst 2403:****:****:****::11/128 dstport 80 state disable logging on enable filter6 add seil_ctl_lan0 interface lan0 direction in action pass protocol tcp src fe80::/10 srcport 0-65535 dst self dstport 0-65535 state disable logging off enable filter6 add OUTGOING interface lan1 direction out action pass state enable logging on enable filter6 add BLOCK_IN interface lan1 direction in action block state enable logging on enable
偽装パケット防止
入力パケットの送信元 IP アドレスへの経路が入力インタフェースと一致しない無い場合にそのパケットをブロックする。
option ipv6 unicast-rpf strict logging on
RAの有効化
lan0インタフェースに対するRemote Advertisementを有効にし、ゲートウェイ設定を自動化する。
rtadvd enable rtadvd interface lan0 enable rtadvd interface lan0 advertise auto
以上で、一通りの設定が完了した。
インタフェースの確認
「show status interface <インタフェース名>」にて確認する。インタフェース名はallにしても出せるが、事前定義インタフェースが非常に多すぎて役に立たないので注意。
kaede# show status interface lan0 interface lan0: Description="" Status=link up, administratively up MTU=1500 LastChange=2017/11/18 14:26:12 Ipkts=791518, Ierrs=0, Opkts=242103, Oerrs=0, Colls=0 InOctets=405879788, OutOctets=78081857, InDrops=0, OutDiscards=0 InUnknownProtos=0 Media=auto (1000baseT Full-Duplex) EthernetAddress=00:50:56:**:**:** IP address=192.168.***.*** netmask=255.255.255.0 broadcast=192.168.****. 255 IPv6 address=fe80::250:****:****:2e14%lan0 prefixlen=64 scopeid 0x1 IPv6 address=2403:****:****:****::2 prefixlen=64 scopeid 0x1 IPv6 address=2403:****:****:****:: prefixlen=64 scopeid 0x1 anycast kaede# show status interface lan1 interface lan1: Description="" Status=link up, administratively up MTU=1500 LastChange=2017/11/18 14:26:12 Ipkts=110057, Ierrs=0, Opkts=526909, Oerrs=0, Colls=0 InOctets=47840135, OutOctets=374910513, InDrops=0, OutDiscards=0 InUnknownProtos=0 Media=auto (1000baseT Full-Duplex) EthernetAddress=00:50:56:**:**:** IPv6 address=fe80::250:****:****:****%lan1 prefixlen=64 scopeid 0x2 IPv6 address=2403:****:****:****::fffd prefixlen=64 scopeid 0x2 IPv6 address=2403:****:****:****:: prefixlen=64 scopeid 0x2 anycast
ルート情報の確認
「show status route6」コマンドで確認できる。
kaede# show status route6 Flags: C - Connected, M - Miscellaneous, O - OSPFv3, R - RIPng, S - Static * - System route, ! - inconsistent Destination Gateway Interface Flags Dist. default 2403:****:****:****::fffe lan1 S* 1 ::1/128 loopback loopback C* 0 2001:****:****:****::/64 fe80::****:****:****:48ba lan0 R* 120 2001:****:****:****::fffe:c8/127 fe80::****:****:****:48ba lan0 R* 120 2001:****:****:****::/64 fe80::****:****:****:43ac lan0 R* 120 2001:****:****:****::/64 fe80::****:****:****:48ba lan0 R* 120 2001:****:****:****::/64 fe80::****:****:****:48ba lan0 R* 120 (中略) fe80::/64 loopback loopback C* 0 fe80::/64 lan2 lan2 C* 0 fe80::/64 lan1 lan1 C* 0 fe80::/64 lan0 lan0 C* 0 fe80::/64 lan0 lan0 M* - fe80::/64 lan1 lan1 M* - fe80::/64 lan2 lan2 M* - fe80::/64 fe80::1 loopback M* - ff01::/32 loopback loopback M* - ff02::/32 lan0 lan0 M* - ff02::/32 lan1 lan1 M* - ff02::/32 lan2 lan2 M* - ff02::/32 loopback loopback M* -
終わりに
今回、SEIL/x86がBGP+に対応していないことから、やむなく間にRouterboardを噛ませたのですが、本心で言うとこれでBGP+がやりたかったですね。とは言え、BGP+ってそんなに広く求められるのか?と言うと微妙なところがある(多分バックボーン系でしかやらない)ので仕方がないんだろうなーとも。
今回、勉強用途としても色んなルーターを知っておきたかったので、これは何が何でも動かしておきたいという感じで構成したのですが、実際にはもう少しシンプルな構成に持っていくことは出来るはずです。
IHAnet構成上の関係から、HE Tunnel Brokerを外すことは当面ないんですが、徐々に切り替えポイントを増やしていこうかなーとは思っています。
Comments are closed