IX 2015 で EtherIP網を構築する(2)

1発目の投稿がツマランのでおもしろおかしくしろとの指示が。

( ー`дー´)キリッ

って感じを演出したかったが
「それは笑いを追求する関西人には許されない行為だ」と言われました。

( ゚д゚ )エッ・・・

人生の2/3ほど大阪に居たこともございましたが
今は身も心も千葉県民であり、マックかマクドかと言われるとマクドですが
なぜ笑いを説かれるのか激しく疑問でしたけれども反省し受け入れます。(´д`)ハァイ

まずはセンター側のEtherIP設定例を公開するぜ!

はじめに、前提条件として以下が設定されているので適宜読み替えてほしい。

  • EtherIP接続を受け付ける側をセンター、
    EtherIP接続を開始する側をブランチと
    便宜上呼ぶことにします。
  • センター側IX2015のLAN方向にはVLAN2が存在し、
    それをEtherIP網のセグメントにしたい。
    そのためIX2015にLayer2スイッチがつながっている。
    172.16.3.0/24というセグメントとする。
  • センター、ブランチともにBフレッツで、固定IPのプロバイダを契約している。
  • センターはNTT東日本、ブランチはNTT西日本地域に存在する。
  • 親機側のLANは10.0.0.0/24というセグメントになっています。
    これはVLAN1。

VLANが盛り込まれてるせいで読みにくいかもしれませんが
ウチがそういう構成なので許してほしい。

hostname ix2015-center
timezone +09 00
terminal timeout 30
!
!
username ****** password hash ****** administrator
!
!
ntp ip enable
ntp server ***.***.***.***
ntp interval 3600
!
!
!
logging buffered 10240
logging event-delay startup 60
logging subsystem all warn
logging timestamp timeofday
!
!
ip ufs-cache enable
ip route default FastEthernet0/0.1
ip route aaa.aaa.aaa.aaa/32 FastEthernet0/0.1
ip access-list all-forward permit ip src any dest any
ip access-list flt-list1 permit 50 src any dest bbb.bbb.bbb.bbb/32
ip access-list flt-list1 permit udp src any sport eq 500 dest bbb.bbb.bbb.bbb/32 dport any
ip access-list sec-list permit ip src any dest any
ip access-list telnet4 permit ip src 10.0.0.0/24 dest any
!
!
!
ike proposal ike-prop-01 encryption aes hash sha lifetime 3600
!
ike suppress-dangling
!
ike policy ike-policy-01 peer aaa.aaa.aaa.aaa key himitsu ike-prop-01
!
!
ipsec autokey-proposal ipsec-prop-01 esp-aes esp-sha lifetime time 3600
!
ipsec autokey-map ipsec-policy-01 sec-list peer aaa.aaa.aaa.aaa ipsec-prop-01
no ipsec anti-replay ipsec-policy-01
ipsec local-id ipsec-policy-01 172.16.3.253
ipsec remote-id ipsec-policy-01 172.16.3.251
!
!
!
snmp-agent ip enable
snmp-agent ip community ******
snmp-agent contact ******@******
snmp-agent location ******
!
bridge irb enable
bridge 1 table-size 8192
!
!
!
proxy-dns ip enable
!
telnet-server ip enable
telnet-server ip access-list telnet4
!
!
!
ppp profile test1
authentication myname ******
authentication password ****** ******
!
!
device FastEthernet0/0
!
device FastEthernet0/1
!
device FastEthernet1/0
vlan-group 1 port 1
!
device BRI1/0
isdn switch-type hsd128k
!
interface FastEthernet0/0.0
no ip address
shutdown
!
interface FastEthernet0/1.0
ip address 10.0.0.11/24
no ip redirects
no shutdown
!
interface FastEthernet1/0.0
no ip address
no ip redirects
shutdown
!
interface BRI1/0.0
encapsulation ppp
no auto-connect
no ip address
shutdown
!
interface FastEthernet0/0.1
encapsulation pppoe
auto-connect
ppp binding test1
ip address bbb.bbb.bbb.bbb/32
ip tcp adjust-mss auto
ip napt enable
ip napt translation max-entries 30000
ip napt static bbb.bbb.bbb.bbb udp 500
ip filter flt-list1 1 in
ip filter nbt-block 10 in
ip filter all-forward 65000 in
ip filter nbt-block 10 out
ip filter all-forward 65000 out
no shutdown
!
interface FastEthernet1/0:1.1
encapsulation dot1q 2 tpid 8100
auto-connect
no ip address
bridge-group 1
no shutdown
!
interface BVI1
ip address 172.16.3.253/24
no ip redirects
ip dhcp binding etherip-nw
bridge-group 1
no shutdown
!
interface Loopback0.0
no ip address
!
interface Null0.0
no ip address
!
!
interface Tunnel1.0
tunnel mode ether-ip ipsec
no ip address
ipsec policy transport ipsec-policy-01 with-id-payload
bridge-group 1
bridge ip tcp adjust-mss 1334
no shutdown
!

以下解説 ( ゚∀゚)b

【1〜3行目】

  • IXのホスト名。好きな名前をつけるがいい。
  • ログなどで記載されるタイムゾーンを決める。ここではJST
  • Telnetなどのターミナルログオン時に
    どれぐらいのアイドルタイムで切断するかという設定。
    例では30分にしてある。

【6行目】

  • Telnetでログオンする時のユーザー名とパスワードを入れる。hashはプレーンテキストでうったものが勝手にハッシュ変換されて入るので
    コピペしないでコマンドリファレンスみてちゃんと入れた方がいいです。

【9〜11行目】

  • NTPサーバーを有効化する。
  • 参照NTPサーバーをIPアドレスで指定する。
  • 何秒おきにNTPサーバーを見に行くか。ここでは3600秒

【15〜18行目】

  • オンメモリでログにどれだけバッファを取るかという設定。
  • 60秒
  • どういうレベルでログを取るかという指定
  • ログのタイムスタンプ設定

【21行目】

  • UFSキャッシュ機能をONにする。
    パフォーマンスにかなり影響がでるので必ずONにする。

【22〜23行目】

  • IX2015から先へのデフォルトルートを FastEthernet0/0.1とする。
  • aaa.aaa.aaa.aaa というグローバルIPアドレス宛のNEXTHOPを
    FastEthernet0/0.1 とする。aaa.aaa.aaa.aaaにはブランチのWAN側固定IPを入れます。
    つまりPPPoE接続したときにプロバイダから割り当てられるIPアドレスですね。

【24行目】

  • オールオッケェなアクセスリスト。
    「指定した通信を拒否して、あとはすべて通す」という方針で制御するため
    これのリストを作成している。

【25〜26行目】

  • 「bbb.bbb.bbb.bbb 宛の プロトコル番号50の通信を許可する」というルール。bbb.bbb.bbb.bbb は、センターのWAN側固定IPが入ります。
    IPsecでカプセル化するわけですが、Phase1でGREを使うので
    これを弾かないように許可ルールを作っておかないと接続に失敗します。
  • 「bbb.bbb.bbb.bbb」宛の UDP500番ポート の通信を許可する」というルール。
    これも同様にIPSecではこのポートを使うんで空けとかないとハマります。

【27行目】

  • IPSecで接続された通信は全て信用するから全部通ってよし!というルール。

【28行目】

  • IX2015にTelnet接続しても良いセグメントを決めるルール。

【32〜44行目】

  • 暗号化方式と生存時間を設定します。
    ここの数字が小さすぎるとキー交換が頻繁になりパフォーマンスが低下しますが
    極端な値じゃなければさほど気にしなくてもよいかと。
  • danglingは動的アドレス環境拠点で推奨されているものなので必要ないかも。
  • IKE関係は書式に従うのみ。
  • local-idにセンター側IXの ブリッジインターフェースのIPアドレス を入れます。
    remote-idにブランチ側IXの ブリッジインターフェースのIPアドレス を入れます。
    ブリッジインターフェースについては後ほど説明します。

【48〜51行目】

  • SNMP関連の設定です。私はCacti使っていますが、監視したい人はここで設定。

【53〜54行目】

  • ブリッジインターフェースを有効にします。
  • ブリッジインターフェース (BVI1)のテーブルサイズを指定。
    MACアドレステーブルみたいなもんと思っておけばおk。(ぇ

【58行目】

  • DNSプロキシ機能をONにします。
    まぁあってもなくても。。。DNSサーバーぐらいふつー自前で持ってますよね?(マテ

【60〜61行目】

  • Telnet機能をONにします。これをONにしとかないと遠隔管理できないよ。

【65〜67行目】

  • Bフレッツ用に契約したプロバイダの設定をここに入れる。

【84〜87行目】

  • 親機のLAN側に属するIX2015のIPアドレスを設定します。
    EtherIP網とは別のローカルネットワークとしてこれを定義。
    全部混ざるとそれはそれで困るという場合はこうやってわけちゃう。

【100〜114行目】

  • WANインターフェースとして使うポートにPPPoEの設定をいれます。
  • 肝はUDP500のNAPT。プロバイダから払い出されるグローバルIPアドレスに対して
    IPSecPhase1が通るようにするには、フィルタでポートを空けることと、
    このNAPT設定を入れるのがポイントです。
  • MSSはAUTOで良いかと思いますが、固定にした方がよい場合もあるんで
    契約回線と相談してください。

【116〜121行目】

  • IX2015の4Port HUBになっているうちの、左から1ポート目を
    VLAN2のタグVLANポートにする、っていう設定です。
    送りもとのパケットにタグがついていて、かつそれがVLAN2だったら
    通信を通しますよ、っていうポートになります。
  • ブリッジグループを1とします。
    ブリッジインターフェースでは、物理或いは論理ポートの、
    どれとどれをブリッジするかという設定をして初めて動作しますが
    ブリッジグループという物にその対象を加えていきます。

【123〜128行目】

  • ブリッジインターフェースを作成する。BVI1でブリッジグループ1となる。
  • ブリッジインターフェースにIPアドレスをつけます。そもそもBridgeっていうのはLayer2の世界の話なので
    通常はIPアドレスなどは領分ではありませんが、
    IX2015ではブリッジインターフェースにIPアドレスをつけることで、
    ルーティングさせたりTelnet接続するための管理IPにしたりすることが出来ます。

    イメージとしては、このIPアドレスが各拠点のデフォルトゲートウェイになります。
    そのため、使い方によってはいろいろな役割を持たせられます。

【137〜143行目】

  • EtherIPのトンネルインターフェースを作成する。
  • EtherIPはトランスポートモードで設定します。トンネルモードは不可。
  • EtherIPでは auto adjust-mss が使用できない。そのため適切なMSS値を、それぞれの回線環境で計算によって算出する必要がある。
    そうしないとフラグメントが発生して再送信が多発し、スループットが極端に落ちます。

    ここは結構重要で、適当なMSS値で運用しているとすごく速度が落ちることがあるので
    キッチリ計算した方が良いです。
    計算式は 「IX1000/2000/3000シリーズ機能説明書」P.2-136 に記載があるよ。

    ちなみにBフレッツだと以下のパターンになる。

    • NTT東日本フレッツ&ネクストなら 1334
    • NTT西日本フレッツプレミアムなら 1318

長い!長すぎる!! 実際書き起こすとかなり面倒だなw

次回はブランチ側の設定をFor You.

See you next time! ( ´Д`)ノ