Portál AbcLinuxu, 10. května 2025 05:47
iptables -A OUTPUT -o eth0 -s 192.168.1.5 -j REJECT --reject-with icmp-admin-prohibitedtak pouziju
iptables-save
:
root ~ # iptables-save # Generated by iptables-save v1.4.10 on Fri May 11 15:49:03 2012 *filter :INPUT ACCEPT [81:55122] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [80:55572] -A OUTPUT -s 192.168.1.5/32 -o eth0 -j REJECT --reject-with icmp-admin-prohibited -A OUTPUT -s 192.168.1.7/32 -o eth0 -j REJECT --reject-with icmp-admin-prohibited COMMIT # Completed on Fri May 11 15:49:03 2012 root ~ #kdyz ale pouziju
grep
, tak to nejde:
root ~ # iptables-save | grep "-A OUTPUT -s 192.168.1.5/32 -o eth0 -j REJECT --reject-with icmp-admin-prohibited" grep: OUTPUT -s 192.168.1.5/32 -o eth0 -j REJECT --reject-with icmp-admin-prohibited: neplatný argument délky kontextu root ~ #jak se da pomoci grepu hledat cely ten retezec? Neexistuje nejaka jednodussi metoda, ktera by overila pritomnost pravidla a vratila mi 0/1 nebo neco podobneho?
Řešení dotazu:
iptables -A OUTPUT -o eth0 -s 192.168.1.5 -m comment --comment "REJECT_192.168.1.5" -j REJECT --reject-with icmp-admin-prohibiteda potom pomoci skriptu:
#!/bin/bash if [ "`iptables -n -L | grep "$1"`" ]; then exit 0 else exit 1 fihledat:
martin # iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination REJECT all -- 192.168.1.5 0.0.0.0/0 /* REJECT_192.168.1.5 */ reject-with icmp-admin-prohibited martin # ./ipt REJECT_192.168.1.5 martin # echo $? 0 martin # ./ipt REJECT_192.168.1.6 martin # echo $? 1
iptables -C OUTPUT -o eth0 -s 192.168.1.5 -j REJECT --reject-with icmp-admin-prohibited
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.