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 を適用する。
timeoutを設定する
Section titled “timeoutを設定する”conf tip reflexive-list timeout 120end一時エントリの保持時間を設定する。通信要件に合わせて調整する。
outbound ACLを作る
Section titled “outbound ACLを作る”内側から外側へ出るTCP通信を許可し、戻り通信用の一時エントリを作る。
conf tip access-list extended OUTBOUND-FILTER permit tcp 192.168.10.0 0.0.0.255 any reflect TCP-SESSION deny ip any any logexitendreflect TCP-SESSION により、許可された通信に対応するreflexive entryが作られる。
inbound ACLを作る
Section titled “inbound ACLを作る”戻り通信を evaluate で評価する。
conf tip access-list extended INBOUND-FILTER evaluate TCP-SESSION deny ip any any logexitend外側から新規に開始された通信は、一時エントリがないため許可されない。
インターフェースへ適用する
Section titled “インターフェースへ適用する”conf tinterface GigabitEthernet0/1 ip access-group OUTBOUND-FILTER out ip access-group INBOUND-FILTER inexitend外側インターフェースで、外へ出る通信を reflect し、外から戻る通信を evaluate する。
通信開始前に確認する。
show ip access-listsshow access-listsinside host から外部へTCP通信を開始したあと、もう一度確認する。
show ip access-listsReflexive IP access list TCP-SESSION のような一時エントリが表示されれば、reflect により戻り通信用の条件が作られている。
- reflexive ACLは、内側から開始した通信の戻りを許可するための簡易的な仕組みである。
- 複数ゾーンや多方向のポリシーを扱う場合は、ZBFの方が構造化しやすい。
- ルーティングプロトコルや管理通信を通す必要がある場合は、
evaluate以外の明示permitも検討する。
通常推奨される構成
Section titled “通常推奨される構成”新規構成では ZBF を使い、zone、方向、通信クラスごとにポリシーを定義する。reflexive ACL を使用する必要がある場合は、対応する IOS バージョン、TCP以外の通信、timeout、管理通信の明示 permit、非対称経路の有無を確認する。