我的一个运行Ubuntu 13.04的Proxmox虚拟机在启用ufw时不会接受传入的跟踪路由。
什么命令给ufw允许传入跟踪路由(6)?
以下显示在启用ufw的系统日志中:
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主机之后结束。
谢谢
Tobias Timpe
Traceroute使用ICMP数据包,所以你需要允许ICMP数据包。
ufw不允许通过命令行界面命令指定icmp规则,因此您将需要编辑规则文件
然而,ufw默认允许某些icmpstream量,包括icmp echo reply,这已经在/etc/ufw/before.rules中默认configuration了:
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
如果您的主机没有响应ping,请查看此文件以确保上面的行存在,如果不行,请查看ping主机以及它们之间的任何防火墙。
要允许traceroute,你需要编辑/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)值(也称为跳数限制)用于确定正朝向目的地的中间路由器。