Створіть новий ланцюжок, який прийме будь-які пакети TCP та UDP, і перейдіть до цього ланцюжка з окремих дозвольних правил IP / порту:
iptables -N ACCEPT_TCP_UDP
iptables -A ACCEPT_TCP_UDP -p tcp -j ACCEPT
iptables -A ACCEPT_TCP_UDP -p udp -j ACCEPT
iptables -A zone_lan_forward -d 1.2.3.0/24 -j ACCEPT_TCP_UDP
Це додає накладні витрати на кілька зайвих рядків, але вдвічі зменшує кількість правил TCP / UDP.
Я б не опустив цей -p
аргумент, тому що ви не тільки відкриваєте брандмауер для ICMP, але і будь-який інший протокол. З сторінки man iptables на -p
:
Зазначений протокол може бути одним з tcp, udp, icmp або всім, або він може бути числовим значенням, що представляє один з цих протоколів або інший. Ім'я протоколу з / etc / протоколів також дозволено.
Ви не можете слухати на будь-яких протоколів TCP, UDP і ICMP , за винятком прямо зараз , але хто знає , що майбутнє може тримати. Було б поганою практикою залишати брандмауер відкритим без потреби.
Відмова: Команди iptables від верхньої частини моєї голови; У мене немає доступу до коробки, на якій можна перевірити їх банкомат.