Архів за місяць: Травень 2013

Видалення правил iptables за їх порядковим номером

Фільтр iptables досить ризикований інструмент, заплутаний проте дуже потужний.

Сьогодні дізнався як видалити одне правило з ланцюжка за його порядковим номером. Для цього достатньо додати параметер –line-numbers:

# iptables -nL -v --line-numbers -t nat
Chain PREROUTING (policy ACCEPT 1463 packets, 92569 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        2   120 DNAT       tcp  --  *      *       0.0.0.0/0            ...

Chain POSTROUTING (policy ACCEPT 323 packets, 27643 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 MASQUERADE  tcp  --  *      *       192.168.122.0/24    ...
2        1    76 MASQUERADE  udp  --  *      *       192.168.122.0/24    ...
3        0     0 MASQUERADE  all  --  *      *       192.168.122.0/24    ...

Chain OUTPUT (policy ACCEPT 198 packets, 14282 bytes)
num   pkts bytes target     prot opt in     out     source               destination

Стовпець num вказує порядковий номер. Мені потрібен перший запис у ланцюжку PREROUTING. Видаляю його командою:

# iptables -D PREROUTING 1 -t nat