私のオペレーティングシステム:centos 7。
yum remove firewalld
yum install -y iptables
yum install -y iptables-services
111.1111.111.111のすべてのpingをiptables.logに記録したいと思います。
cat /etc/rsyslog.conf
kern.* /var/log/iptables.log
systemctl restart rsyslog
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A INPUT -p icmp --icmp-type 8 --source 111.111.111.111 -j LOG
iptables -A INPUT -p icmp --icmp-type 8 --source 111.111.111.111 -j DROP
service iptables save
service iptables restart
今私は111.111.111.111から私のvpsにpingを送ります。
1.iptables -A INPUT -p icmp --icmp-type 8 --source 111.111.111.111 -j DROP
働くことができる。
ping 104.223.65.117
PING 104.223.65.117 (104.223.65.117) 56(84) bytes of data. ^C --- 104.223.65.117
ping statistics --- 23 packets transmitted, 0 received, 100% packet loss, time 22003ms
2.iptables -A INPUT -p icmp --icmp-type 8 --source 111.111.111.111 -j LOG
仕事ができない
cat /var/log/iptables.log
そこには何もありません。 111.111.111.111のping操作を/var/log/iptables.logに記録する方法は?
ここにいくつかの資料があります。dmesgとiptables
dmesg reads from the kernel log buffer. Since iptables uses kernel logging
facility, that is where iptables log records appear in the first place.
There is no way you can make iptables log entries not appear in dmesg.
これは、iptablesログ情報を指定されたファイルに書き込むことができないという意味ですか?
iptablesログ情報は、次の方法でのみ指定されたファイルに書き込むことができます。
dmesg > /var/log/iptables.log
または
dmesg >> /var/log/iptables.log
?
すべての情報を/var/log/iptables.logに自動的に記録する別の賢明な方法はありますか?
答え1
設定がどのような役割を果たしているかを見てみましょう。
iptables -N LOGGING
LOGGING
(後でルールを取得できない)という新しいチェーンを作成します。
iptables -A INPUT -j LOGGING
入力チェーンを通過するすべてのパケットはにジャンプしますLOGGING
。このルール以降のすべてのルールはLOGGING
チェーンから戻っていないため無視されます。
iptables -A INPUT -p icmp --icmp-type 8 --source 111.111.111.111 -j LOG
このルールは上記のジャンプの後に挿入され、決して実行されません。
iptables -A INPUT -p icmp --icmp-type 8 --source 111.111.111.111 -j DROP
ロギング後にパケットをドロップしようとしています。これは応答が生成されないことを意味します。これがあなたの意図であるかどうかはわかりません。
だからしないでください。以下をiptables -F INPUT
使用して、これらすべてのルールを消去します。
iptables -A INPUT -p icmp --icmp-type 8 --source 111.111.111.111 -j LOG
他の人はいません。 pingを実行してシステムログに表示されることを確認します(私のシステムでは表示されます)。
必要に応じて、後でpingを削除するルールを追加できます。
答え2
vps タイプが重要です。
私のvpsタイプはopenvzです。
ログファイルはdmesgで表示され、クライアントログファイルは自動的には記録されません。これはopenvzのバグです。
私のvpsをkvm vpsに変更し、問題を修正しました。