我的目标是:只允许在这个linux机器上进行一个与iptable相关的操作。这使得它能够从任何服务器下载tftp。这是我的规则,但它们似乎行不通。要强调的是,这并不是说我的linux盒是服务器。我的盒子是客户端,试图从tftp服务器下载。
#iptables -S
-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p udp -m state --state RELATED -j ACCEPT
-A INPUT -p udp -m udp --dport 69 -m state --state NEW -j ACCEPT当我尝试下载tftp时,它会超时。
tftp -g -r /asd.txt 10.0.0.148 我验证了tftp下载是否符合以下规则。
root@kp3:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT你能帮我纠正我的规则,让tftp下载吗?
发布于 2017-06-20 22:40:37
允许TFTP“来自任何服务器”并没有多大意义。但是,如果这是你想要的,这里就是你需要的
iptables -I INPUT -p udp -j ACCEPT
iptables -I OUTPUT -p udp -j ACCEPT不过,我觉得你不会喜欢的。
以下是从https://en.wikipedia.org/wiki/Trivial_文件_转移_Protocol#Overview (我的粗体突出显示)中得到的解释
TFTP使用UDP作为其传输协议。传输请求总是以端口69为目标发起,但数据传输端口在传输初始化期间由发送方和接收方独立选择。端口是根据网络堆栈的参数随机选择的,通常是从临时端口的范围内选择的。
这是在RFC 1350第4节第2款中更正式地定义的。
https://unix.stackexchange.com/questions/372353
复制相似问题