ネットワーク構成

uRPF01.png
図 ユニキャストRPFの設定

設定条件

  • R1 E0/1で送信元IPアドレスが偽装されたIPパケットを破棄してください。
  • 設定はインタフェースコンフィグレーションモードで1つのコマンドだけ利用して行います。

初期設定

  • R1/R2/R3
    ホスト名
    IPアドレス
    ルーティングプロトコル OSPF エリア0

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Loopback0
ip address 192.168.0.1 255.255.255.255
!
interface Ethernet0/0
ip address 192.168.12.1 255.255.255.0
!
interface Ethernet0/1
ip address 192.168.13.1 255.255.255.0
!
router ospf 1
log-adjacency-changes
network 192.168.0.0 0.0.255.255 area 0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Loopback0
ip address 192.168.0.2 255.255.255.255
!
interface Ethernet0/0
ip address 192.168.12.2 255.255.255.0
!
interface Ethernet0/1
ip address 192.168.2.2 255.255.255.0
!
router ospf 1
log-adjacency-changes
network 192.168.0.0 0.0.255.255 area 0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R3

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Loopback0
ip address 192.168.0.3 255.255.255.255
!
interface Ethernet0/0
ip address 192.168.13.3 255.255.255.0
!
interface Ethernet0/1
ip address 192.168.3.3 255.255.255.0
!
router ospf 1
log-adjacency-changes
network 192.168.0.0 0.0.255.255 area 0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

GNS3プロジェクトダウンロード(MM_1250_uRPF_init.zip)

設定と確認

【Step1:uRPFの設定】

ユニキャストRPFによって、パケットの送信元IPアドレスをチェックしてIPアドレスの偽装を防止します。ユニキャストRPFは、パケットの送信元IPアドレスとルーティングテーブルの整合性がとれているかをチェックします。
ユニキャストRPFのチェックには、LooseとStrictがあります。Looseは送信元IPアドレスに対する戻りのルートがルーティングテーブルに存在していることをチェックします。Strictは送信元IPアドレスに対する戻りのルートがルーティングテーブルに存在していることだけではなく、パケットの受信インタフェースがルートの出力インタフェースと一致しているかどうかもチェックします。

uRPF02.png
図 ユニキャストRPF(Strict)のチェック

ユニキャストRPFの設定は、インタフェースコンフィグレーションモードで次のコマンドを利用します。

(config-if)#ip verify unicast source via {any|rx}

any:Loose
rx:strict

R1では、E0/1でユニキャストRPFを有効化するので、以下のような設定です。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Ethernet0/1
ip verify unicast source reachable-via rx
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【Step2:uRPFの確認】

R1のE0/1でユニキャストRPFが有効化されていることを確認します。show ip interfaceコマンドでユニキャストRPFが有効化されていることと、ユニキャストRPFで破棄されたパケットの統計情報がわかります。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#show ip interface ethernet 0/1
Ethernet0/1 is up, line protocol is up
Internet address is 192.168.13.1/24
Broadcast address is 255.255.255.255
Address determined by non-volatile memory
MTU is 1500 bytes
Helper address is not set
Directed broadcast forwarding is disabled
Multicast reserved groups joined: 224.0.0.5 224.0.0.6
Outgoing access list is not set
Inbound  access list is not set
Proxy ARP is enabled
Local Proxy ARP is disabled
Security level is default
Split horizon is enabled
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are never sent
IP fast switching is enabled
IP fast switching on the same interface is disabled
IP Flow switching is disabled
IP CEF switching is enabled
IP CEF Feature Fast switching turbo vector
IP multicast fast switching is enabled
IP multicast distributed fast switching is disabled
IP route-cache flags are Fast, CEF
Router Discovery is disabled
IP output packet accounting is disabled
IP access violation accounting is disabled
TCP/IP header compression is disabled
RTP/IP header compression is disabled
Policy routing is disabled
Network address translation is disabled
BGP Policy Mapping is disabled
WCCP Redirect outbound is disabled
WCCP Redirect inbound is disabled
WCCP Redirect exclude is disabled
IP verify source reachable-via RX
0 verification drops
0 suppressed verification drops
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

実際にユニキャストRPFでパケットが破棄されることを確認するために、R3に新しくLo1インタフェースを作成してIPアドレス10.3.3.3/32を設定します。そして、10.3.3.3を送信元IPアドレスとしてR1へPingを行います。

R3

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Loopback1
ip address 192.168.100.3 255.255.255.255
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R3

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R3#ping 192.168.0.1 source loopback 1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.1, timeout is 2 seconds:
Packet sent with a source address of 10.3.3.3
.....
Success rate is 0 percent (0/5)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R1のルーティングテーブルには10.3.3.3へのルートが存在しないので、ユニキャストRPFによってパケットは破棄されるはずです。あらためてR1でshow ip interfaceコマンドを確認すると、ユニキャストRPFでパケットがドロップされていることがわかります。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#show ip interface ethernet 0/1
Ethernet0/1 is up, line protocol is up
Internet address is 192.168.13.1/24
Broadcast address is 255.255.255.255
Address determined by non-volatile memory
MTU is 1500 bytes
Helper address is not set
Directed broadcast forwarding is disabled
Multicast reserved groups joined: 224.0.0.5 224.0.0.6
Outgoing access list is not set
Inbound  access list is not set
Proxy ARP is enabled
Local Proxy ARP is disabled
Security level is default
Split horizon is enabled
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are never sent
IP fast switching is enabled
IP fast switching on the same interface is disabled
IP Flow switching is disabled
IP CEF switching is enabled
IP CEF Feature Fast switching turbo vector
IP multicast fast switching is enabled
IP multicast distributed fast switching is disabled
IP route-cache flags are Fast, CEF
Router Discovery is disabled
IP output packet accounting is disabled
IP access violation accounting is disabled
TCP/IP header compression is disabled
RTP/IP header compression is disabled
Policy routing is disabled
Network address translation is disabled
BGP Policy Mapping is disabled
WCCP Redirect outbound is disabled
WCCP Redirect inbound is disabled
WCCP Redirect exclude is disabled
IP verify source reachable-via RX
5 verification drops
0 suppressed verification drops
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

GNS3プロジェクトダウンロード(MM_1250_uRPF_comp.zip)