Ubuntu
ufw 阻止傳入的 traceroute
我的一台執行 Ubuntu 13.04 的 Proxmox 虛擬機在啟用 ufw 時不接受傳入的跟踪路由。
什麼命令給 ufw 以允許傳入的 traceroute(6)s?
啟用了 ufw 的 syslog 中顯示以下內容:
50:15:15:aa:ae:8d:7d:e4:7a:97:08:00 SRC=79.236.233.97 DST=78.46.101.252 LEN=52 TOS=0x00 PREC=0x00 TTL=1 ID=33400 PROTO=UDP SPT=63757 DPT=33466 LEN=32 Nov 4 16:20:36 web kernel: [8078158.260409] [UFW BLOCK] IN=eth0 OUT= MAC=00:50:56:15:15:aa:ae:8d:7d:e4:7a:97:08:00 SRC=79.236.233.97 DST=78.46.101.252 LEN=52 TOS=0x00 PREC=0x00 TTL=1 ID=33401 PROTO=UDP SPT=63757 DPT=33467 LEN=32 Nov 4 16:20:41 web kernel: [8078163.262626] [UFW BLOCK] IN=eth0 OUT= MAC=00:50:56:15:15:aa:ae:8d:7d:e4:7a:97:08:00 SRC=79.236.233.97 DST=78.46.101.252 LEN=52 TOS=0x00 PREC=0x00 TTL=2 ID=33402 PROTO=UDP SPT=63757 DPT=33468 LEN=32 Nov 4 16:20:46 web kernel: [8078168.262927] [UFW BLOCK] IN=eth0 OUT= MAC=00:50:56:15:15:aa:ae:8d:7d:e4:7a:97:08:00 SRC=79.236.233.97 DST=78.46.101.252 LEN=52 TOS=0x00 PREC=0x00 TTL=2 ID=33403 PROTO=UDP SPT=63757 DPT=33469 LEN=32 Nov 4 16:20:51 web kernel: [8078173.260521] [UFW BLOCK] IN=eth0 OUT= MAC=00:50:56:15:15:aa:ae:8d:7d:e4:7a:97:08:00 SRC=79.236.233.97 DST=78.46.101.252 LEN=52 TOS=0x00 PREC=0x00 TTL=2 ID=33404 PROTO=UDP SPT=63757 DPT=33470 LEN=32
並且跟踪路由僅在 Proxmox 主機之後開始。
謝謝
託拜厄斯·廷佩
Traceroute 使用 ICMP 數據包,因此您需要允許 ICMP 數據包。
ufw 不允許通過命令行界面命令指定 icmp 規則,因此您需要編輯規則文件
但是 ufw 預設情況下確實允許某些 icmp 流量,包括 icmp echo 回复,並且預設情況下已在 /etc/ufw/before.rules 中配置:
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
如果您的主機沒有響應 ping,請查看此文件以確保上述行存在,如果這不起作用,請查看 ping 主機和它們之間的任何防火牆。
要允許跟踪路由,您需要編輯 /etc/ufw/before.rules
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
要在編輯文件之前查看設置了什麼,請嘗試以下操作
sudo grep 'icmp' /etc/ufw/before.rules
筆記:
Traceroute 發送三個 Internet 控制消息協議 (ICMP) 回應要求數據包的序列,這些數據包定址到目標主機。生存時間 (TTL) 值,也稱為跳數限制,用於確定向目的地遍歷的中間路由器。