- TFTP (port 69)
- DNS (port 53)
- Time (port 37)
- TACACS (port 49)
- BOOTP client (port 68)
- BOOTP server (port 67)
- NetBIOS name service (port 137)
- NetBIOS datagram service (port 138)
如果我們想要將以上幾種之外的UDP封包以directed broadcast的方式轉發出去,可以使用ip forward-protocol的指令。
而提到directed broadcast可能會想到有個interface上的設定:no ip directed-broadcast,這個設定可以幫助我們避免類似smurf的DoS攻擊,而甚麼是directed broadcast呢?
說到directed broadcast我們先談談broadcast的種類:
1.subnet broadcast: 例如: 130.182.1.255
2.all-subnets-directed broadcast:例如:130.182.255.255
3.limited broadcast:例如:255.255.255.255,而BOOTP與DHCP都是使用這種broadcast。
而ip directed-broadcast在Cisco router上的作用可以下面的例子看出差別:
而ip directed-broadcast在Cisco router上的作用可以下面的例子看出差別:
如上圖架構,我們建立一個ACL 101,內容是允許icmp封包通過,套用在R2的e0/0 interface上,同時開啟debug來觀察,並由R1執行ping 10.1.1.255,在R2 e0/0開啟ip directed-broadcast時可以觀察到以下資訊:
*Jul 25 20:57:03.879: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), g=255.255.255.255, len 100, forward directed broadcast
*Jul 25 20:57:03.879: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 20:57:03.879: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 20:57:03.899: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), g=255.255.255.255, len 100, forward directed broadcast
(以下重复,输出省略)
雖然R1 ping的是subnet broadcast 10.1.1.255,但實際上封包到R2時會被轉成limited broadcast 255.255.255.255!
在R3上開debug看到的資訊如下:
*Jul 25 20:59:06.079: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.079: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
*Jul 25 20:59:06.099: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.099: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
*Jul 25 20:59:06.119: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.119: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
*Jul 25 20:59:06.139: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.139: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
*Jul 25 20:59:06.167: IP: s=12.1.1.1 (Ethernet0/0), d=255.255.255.255, len 100, rcvd 2
*Jul 25 20:59:06.167: IP: s=10.1.1.3 (local), d=12.1.1.1 (Ethernet0/0), len 100, sending
可以看出R3是用unicast的方式回應
但如果把ip directed-broadcast拿掉,同樣用R1去ping 10.1.1.255,則R2上看到的結果如下:
*Jul 25 21:05:22.071: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.071: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 21:05:22.099: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.099: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 21:05:22.131: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.131: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 21:05:22.159: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.159: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
*Jul 25 21:05:22.191: IP: s=12.1.1.1 (Serial2/0), d=10.1.1.255 (Ethernet0/0), len 100, rcvd 5
*Jul 25 21:05:22.191: IP: s=12.1.1.2 (local), d=12.1.1.1 (Serial2/0), len 100, sending
可以看出,R2沒有像之前一樣將unicast轉成broadcast再轉發出去給R3了
沒有留言:
張貼留言