-bash:echo:写入错误:没有此文件或目录

-bash:echo:写入错误:没有此文件或目录

我正在尝试记录 iptables 操作,以便能够排查 FORWARD 规则不起作用的原因,并且我需要运行以下命令:

echo ipt_LOG >/proc/sys/net/netfilter/nf_log/2

这是在加载日志模块“ sudo modprobe ipt_LOG”之后发生的,即使我已切换到 root ( sudo -i) 并位于所述文件“2”的位置,我仍然不断收到此错误:

root@george-jendoc-node:/proc/sys/net/netfilter/nf_log# echo "ipt_LOG" > 2
-bash: echo: write error: No such file or directory

我做了一个stat 2并得到了:

File: 2
  Size: 0               Blocks: 0          IO Block: 1024   regular empty file
Device: 4h/4d   Inode: 185636      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-05-12 12:27:05.420721533 +0000
Modify: 2020-05-12 12:33:44.449767903 +0000
Change: 2020-05-12 12:33:44.449767903 +0000
 Birth: -

我清楚地看到了有问题的文件,但为什么我会收到“没有此文件或目录”的错误,以及如何写入该文件?

更新:

cat 2显示NONEecho ipt_LOG显示‘ipt_LOG’。

答案1

我在遵循以下指南时也遇到了这个问题:
https://backreference.org/2010/06/11/iptables-debugging/
https://www.opsist.com/blog/2015/08/11/how-do-i-see-what-iptables-is-doing.html

经过一番研究,似乎至少在 CentOS 7 中,正确的命令是modprobe nf_log_ipv4sysctl net.netfilter.nf_log.2=nf_log_ipv4。不确定这些指南中的信息是否已过时,或者是否是 Redhat 与 Debian 之类的东西,但本指南对我的情况有所帮助:
https://www.opensourcerers.org/2016/05/27/how-to-trace-iptables-in-rhel7-centos7/

相关内容