Cisco 841MのNATスループット(Firewallありのケース)
Cisco C841M-4X-JSEC/K9のNAT(PAT)のスループットをReflexive Access Listsを用いたフィルタありのケースで測定してみました。NATを入れただけでもかなり遅くなっていたC841Mですが、どの程度のスループットに影響があるのでしょうか。
計測環境
スイッチポート0(gigabitEthernet0/0)にCentOS7 Aをクライアント、gigabitEthernet0/4配下にCentOS7 Bをサーバーとして配置し、iperf3を実行しスループットの測定を行います。C841Mのファームウェアは15.5(3)M9となります。
計測結果
CentOS7 Aでのiperf3の実行結果が以下となります。-Mオプションを使ってMSSを変えてテストを行っています。消費電力はTAP-TST10での目測値で無負荷時は6.3Wとなります。後で掲載のconfigにあるようにフィルタ等は一切設定しておりません。
receiver | sender | |||||
MSS | Mbps | CPU | 消費電力 | Mbps | CPU | 消費電力 |
1460(指定なし) | 271 | 99% | 7.1W | 276 | 99% | 7.1W |
1200 | 226 | 99% | 7.1W | 227 | 99% | 7.1W |
800 | 151 | 99% | 7.1W | 152 | 99% | 7.1W |
400 | 74.5 | 99% | 7.1W | 74.8 | 99% | 7.1W |
receiverの結果はCentOS7 Aから見てダウンロード方向(iperf3で-Rオプション)、senderの結果はCentOS7 Aから見てアップロード方向(iperf3で-Rオプションなし)の計測結果となります。NAT(Firewallなし)の結果と比較すると、Reflexive ACLを入れると、またかなりスループットが低下することがわかります。100Mbpsくらいの回線じゃないとC841Mは使い物になりません。
C841MのConfig
テストに使ったconfigは以下となります。
ip dhcp pool dhcp-lan1 network 192.168.100.0 255.255.255.0 default-router 192.168.100.1 dns-server 192.168.100.1 ! ip cef no ipv6 cef ! interface GigabitEthernet0/4 ip address dhcp ip access-group wan-to-lan in ip access-group lan-to-wan out ip nat outside ! interface Vlan1 ip address 192.168.100.1 255.255.255.0 ip nat inside ! ip dns server ip nat inside source list 1 interface GigabitEthernet0/4 overload ! ip access-list extended lan-to-wan permit ip any any reflect mirror timeout 300 ip access-list extended wan-to-lan permit icmp any any permit udp any eq domain any evaluate mirror ! access-list 1 permit 192.168.100.0 0.0.0.255
LAN→WAN(GE0/4)やルーター→WANの通信の戻りだけ許可したいんですが、単に
ip access-list extended lan-to-wan permit ip any any reflect mirror timeout 300 ip access-list extended wan-to-lan evaluate mirror
とすると、ルーター→WANの通信の戻りがフィルタされてしまい、ルーターから
ping 8.8.8.8 ping www.google.com
等が通りません。Ciscoルーターに詳しくなく、エレガントに解決する方法がわからないので、暫定処置ですが、ルーターへのicmpとdnsの問い合わせの応答を静的に許可することで、テスト用のconfigは最低限の実用性を確保しています。