YamahaのL3スイッチ_アクセスリストフィルタリング適用手順
目的
L3スイッチを挟んで、4つの内部セグメント同士の通信設定を行う。通信要件は下記のアクセスリスト要件に則る
環境
- YamahaのL3スイッチ
- WindowsまたはUbuntu端末
ネットワーク構成
アクセスリスト要件
- 192.168.1.0/24
- 192.168.3.0/24
- 192.168.4.0/24
- 192.168.2.0/24
- 192.168.3.0/24
- 192.168.4.0/24
- 192.168.1.0/24
- 192.168.4.0/24
- 192.168.1.0/24
- 192.168.3.0/24
192.168.2.0/24からアクセス可能
192.168.1.0/24からアクセス可能
192.168.3.0/24からアクセス可能
192.168.4.0/24からアクセス可能
設定手順
アクセスリスト(ACL)の作成
以下のようなACLを作成する
ACL1
# 192.168.1.0/24に対するACK応答(TCP)
access-list 1 10 permit tcp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 ack
access-list 1 20 permit tcp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 ack
access-list 1 30 permit tcp 192.168.4.0 0.0.0.255 192.168.1.0 0.0.0.255 ack
# 192.168.1.0/24へのアクセス許可(TCP)
access-list 1 40 permit tcp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 1 50 permit tcp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 1 60 permit tcp 192.168.4.0 0.0.0.255 192.168.1.0 0.0.0.255
# 192.168.1.0/24へのアクセス許可(UDP)
access-list 1 70 permit udp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 1 80 permit udp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 1 90 permit udp 192.168.4.0 0.0.0.255 192.168.1.0 0.0.0.255
# 192.168.1.0/24へのアクセス許可(ICMP)
access-list 1 100 permit 1 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 1 110 permit 1 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 1 120 permit 1 192.168.4.0 0.0.0.255 192.168.1.0 0.0.0.255
# インターネットへのアクセス許可(TCP、UDP)
access-list 1 130 permit tcp 192.168.2.0 0.0.0.255 host 0.0.0.0
access-list 1 140 permit tcp 192.168.3.0 0.0.0.255 host 0.0.0.0
access-list 1 150 permit tcp 192.168.4.0 0.0.0.255 host 0.0.0.0
access-list 1 160 permit udp 192.168.2.0 0.0.0.255 host 0.0.0.0
access-list 1 170 permit udp 192.168.3.0 0.0.0.255 host 0.0.0.0
access-list 1 180 permit udp 192.168.4.0 0.0.0.255 host 0.0.0.0
※ ACKを包含するので、インターネット向けのACK許可は不要
# 暗黙のdeny
access-list 1 190 deny any any any
ACL2
# 192.168.2.0/24から192.168.1.0/24に対するACK応答(TCP)
access-list 2 10 permit tcp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 ack
# 192.168.2.0/24から各内部セグメントへのアccess許可(TCP)
access-list 2 20 permit tcp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 2 30 permit tcp 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
access-list 2 40 permit tcp 192.168.2.0 0.0.0.255 192.168.4.0 0.0.0.255
# 192.168.2.0/24から各内部セグメントへのアクセス許可(UDP)
access-list 2 50 permit udp 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
access-list 2 60 permit udp 192.168.2.0 0.0.0.255 192.168.4.0 0.0.0.255
access-list 2 70 permit udp 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
# 192.168.2.0/24からインターネットへのアクセス許可(TCP、UDP)
access-list 2 80 permit tcp 192.168.2.0 0.0.0.255 host 0.0.0.0
access-list 2 90 permit udp 192.168.2.0 0.0.0.255 host 0.0.0.0
# 暗黙のdeny
access-list 2 100 deny any any any
ACL3
# 192.168.3.0/24から各内部セグメントに対するACK応答(TCP)
access-list 3 10 permit tcp 192.168.3.0 0.0.0.255 192.168.4.0 0.0.0.255 ack
access-list 3 20 permit tcp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 ack
access-list 3 30 permit tcp 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255 ack
# 192.168.3.0/24から各内部セグメントへのアクセス許可(TCP)
access-list 3 40 permit tcp 192.168.3.0 0.0.0.255 192.168.4.0 0.0.0.255
access-list 3 50 permit tcp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
※192.168.2.0/24へのアクセスは禁止のため追加しない
# 192.168.3.0/24から各内部セグメントへのアクセス許可(UDP)
access-list 3 60 permit udp 192.168.3.0 0.0.0.255 192.168.4.0 0.0.0.255
access-list 3 70 permit udp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
※ 192.168.2.0/24へのアクセスは禁止のため追加しない
# 192.168.3.0/24から各内部セグメントへのアクセス許可(ICMP)
access-list 3 80 permit 1 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255
※ echo replyのみを設定できないので、双方向で追加している
access-list 3 90 permit 1 192.168.3.0 0.0.0.255 192.168.4.0 0.0.0.255
access-list 3 100 permit 1 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
# 192.168.3.0/24からインターネットへのアクセス許可(TCP、UDP)
access-list 3 110 permit tcp 192.168.3.0 0.0.0.255 host 0.0.0.0
access-list 3 120 permit udp 192.168.3.0 0.0.0.255 host 0.0.0.0
# 暗黙のdeny
access-list 3 130 deny any any any
ACL4
# 192.168.4.0/24から各内部セグメントに対するACK応答(TCP)
access-list 4 10 permit tcp 192.168.4.0 0.0.0.255 192.168.3.0 0.0.0.255 ack
access-list 4 20 permit tcp 192.168.4.0 0.0.0.255 192.168.1.0 0.0.0.255 ack
access-list 4 30 permit tcp 192.168.4.0 0.0.0.255 192.168.2.0 0.0.0.255 ack
# 192.168.4.0/24から各内部セグメントへのアクセス許可(TCP)
access-list 4 40 permit tcp 192.168.4.0 0.0.0.255 192.168.3.0 0.0.0.255
access-list 4 50 permit tcp 192.168.4.0 0.0.0.255 192.168.1.0 0.0.0.255
※ 192.168.2.0/24へのアクセスは禁止のため追加しない
# 192.168.4.0/24から各内部セグメントへのアクセス
許可(UDP)
access-list 4 60 permit udp 192.168.4.0 0.0.0.255 192.168.3.0 0.0.0.255
access-list 4 70 permit udp 192.168.4.0 0.0.0.255 192.168.1.0 0.0.0.255
※ 192.168.2.0/24へのアクセスは禁止のため追加しない
# 192.168.4.0/24から各内部セグメントへのアクセス許可(ICMP)
access-list 4 80 permit 1 192.168.4.0 0.0.0.255 192.168.2.0 0.0.0.255
※ echo replyのみを設定できないので、双方向で追加している
access-list 4 90 permit 1 192.168.4.0 0.0.0.255 192.168.3.0 0.0.0.255
access-list 4 100 permit 1 192.168.4.0 0.0.0.255 192.168.1.0 0.0.0.255
# 192.168.4.0/24からインターネットへのアクセス許可(TCP、UDP)
access-list 4 110 permit tcp 192.168.4.0 0.0.0.255 host 0.0.0.0
access-list 4 120 permit udp 192.168.4.0 0.0.0.255 host 0.0.0.0
# 暗黙のdeny
access-list 4 130 deny any any any
ACLの適用
ACL1はOutbound、ACL2~4はInboundで物理ポートに適用する
!
interface port1.1
switchport
switchport mode access
switchport access vlan 10
access-group 1 out
no shutdown
!
interface port1.2
switchport
switchport mode access
switchport access vlan 20
access-group 2 in
no shutdown
!
interface port1.3
switchport
switchport mode access
switchport access vlan 30
access-group 3 in
no shutdown
!
interface port1.4
switchport
switchport mode access
switchport access vlan 40
access-group 4 in
no shutdown
!
疎通試験
L3スイッチを挟んで、対向のホスト同士で各通信プロトコルごとに疎通試験を実施する。
試験コマンド
Windowsホスト
# OpenPort確認
netstat -aon | findstr /i “LISTENING
# 疎通コマンド
Test-NetConnection -ComputerName [IP] -Port [Port]
Ubuntuホスト
# OpenPort確認
netstat -tnlp
# 疎通コマンド
netcat -z -v [IP] [Port]
試験結果の確認
意図したACLのポリシーにマッチしたかを下記のmatchカウントにより判断する。試験の前後でカウントが増えること。
# show access-list
IPv4 access list 1
20 permit tcp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 ack [match= 4]
↓↓↓
20 permit tcp 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255 ack [match= 6]