Я пытаюсь запретить внешним сетям инициировать подключение к моим внутренним сетям как для TCP, так и для UDP. Я думаю использовать --state. Я не уверен в том, что означает справочная страница для разных состояний.
«NEW означает, что пакет начал новое соединение или иным образом связан с соединением, которое не видело пакеты в обоих направлениях» справочная страница
Отслеживает ли NEW рукопожатие? Как в
client1 -SYN-> client2 NEW
client1 ‹-SYN,ACK- client2 NEW
client1 -ACK-> client2 ESTABLISHED
-or-
client1 -SYN-> client2 NEW
client1 ‹-SYN,ACK- client2 NEW
client1 -ACK-> client2 NEW
client1 ‹-DATA- client2 ESTABLISHED
для UDP
client1 -MSG1-> client2 NEW
client1 ‹-MSG2- client2 NEW
client1 -MSG3-> client2 ESTABLISHED
-or-
client1 -MSG1-> client2 NEW
client1 ‹-MSG2- client2 ESTABLISHED
Будет ли это блокировать входящие новые подключения, но разрешать новые исходящие подключения?
-A FORWARD -p tcp -m state --state NEW ! -s 192.168.1.0/24 -j DROP
-A FORWARD -p tcp -m state --state ESTABLISHED ! -s 192.168.1.0/24 -j DROP
-A FORWARD -p tcp -m state --state NEW,ESTABLISHED -s 192.168.1.0/24 -j ACCEPT