コンテンツにスキップ

Cisco IOSvでreflexive ACLを設定する

CML 2.10 の IOSv 15.9 で、内側から開始したTCP通信の戻りだけを許可するreflexive ACLを設定する。


項目 値
inside network 192.168.10.0/24
outside interface GigabitEthernet0/1
reflexive list名 TCP-SESSION

この例では、outside interfaceに outbound ACL と inbound ACL を適用する。


conf t
ip reflexive-list timeout 120
end

一時エントリの保持時間を設定する。通信要件に合わせて調整する。


内側から外側へ出るTCP通信を許可し、戻り通信用の一時エントリを作る。

conf t
ip access-list extended OUTBOUND-FILTER
permit tcp 192.168.10.0 0.0.0.255 any reflect TCP-SESSION
deny ip any any log
exit
end

reflect TCP-SESSION により、許可された通信に対応するreflexive entryが作られる。


戻り通信を evaluate で評価する。

conf t
ip access-list extended INBOUND-FILTER
evaluate TCP-SESSION
deny ip any any log
exit
end

外側から新規に開始された通信は、一時エントリがないため許可されない。


conf t
interface GigabitEthernet0/1
ip access-group OUTBOUND-FILTER out
ip access-group INBOUND-FILTER in
exit
end

外側インターフェースで、外へ出る通信を reflect し、外から戻る通信を evaluate する。


通信開始前に確認する。

show ip access-lists
show access-lists

inside host から外部へTCP通信を開始したあと、もう一度確認する。

show ip access-lists

Reflexive IP access list TCP-SESSION のような一時エントリが表示されれば、reflect により戻り通信用の条件が作られている。


  • reflexive ACLは、内側から開始した通信の戻りを許可するための簡易的な仕組みである。
  • 複数ゾーンや多方向のポリシーを扱う場合は、ZBFの方が構造化しやすい。
  • ルーティングプロトコルや管理通信を通す必要がある場合は、evaluate 以外の明示permitも検討する。

新規構成では ZBF を使い、zone、方向、通信クラスごとにポリシーを定義する。reflexive ACL を使用する必要がある場合は、対応する IOS バージョン、TCP以外の通信、timeout、管理通信の明示 permit、非対称経路の有無を確認する。