[Network] SEIL/x86で使用したコマンド群など

技術のお話し

せっかく今回、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を外すことは当面ないんですが、徐々に切り替えポイントを増やしていこうかなーとは思っています。

 

Tags:

Comments are closed

PAGE TOP