내 라우터가 자체적으로 전달된 패킷을 거부하는 이유는 무엇입니까?

내 라우터가 자체적으로 전달된 패킷을 거부하는 이유는 무엇입니까?

FORWARD 체인의 첫 번째 규칙은 나에게 흥미로웠습니다. 정책이 DROP인 경우 이것이 왜 필요한 규칙이겠습니까?

root@tomato:/tmp/home/root# iptables -L --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    REJECT     tcp  --  anywhere             tomato               multiport dports www,https,ssh reject-with tcp-reset
2    REJECT     tcp  --  anywhere             tomato-lan1          multiport dports www,https,ssh reject-with tcp-reset
3    DROP       all  --  anywhere             anywhere             state INVALID
4    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
5    shlimit    tcp  --  anywhere             anywhere             tcp dpt:ssh state NEW
6    ACCEPT     all  --  anywhere             anywhere
7    ACCEPT     all  --  anywhere             anywhere
8    ACCEPT     all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
num  target     prot opt source               destination
1    REJECT     tcp  --  anywhere             tomato               multiport dports www,https,ssh reject-with tcp-reset
2    REJECT     tcp  --  anywhere             tomato-lan1          multiport dports www,https,ssh reject-with tcp-reset
3    ACCEPT     all  --  anywhere             anywhere
4    ACCEPT     all  --  anywhere             anywhere
5    DROP       all  --  anywhere             anywhere             state INVALID
6    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
7    DROP       all  --  anywhere             anywhere
8    DROP       all  --  anywhere             anywhere
9    wanin      all  --  anywhere             anywhere
10   wanout     all  --  anywhere             anywhere
11   ACCEPT     all  --  anywhere             anywhere
12   ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain shlimit (1 references)
num  target     prot opt source               destination
1               all  --  anywhere             anywhere             recent: SET name: shlimit side: source
2    DROP       all  --  anywhere             anywhere             recent: UPDATE seconds: 60 hit_count: 4 name: shlimit side: source

Chain wanin (1 references)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  anywhere             oldtimer             tcp dpt:3300

Chain wanout (1 references)
num  target     prot opt source               destination

답변1

1) 규칙은 더 높은 수준의 설명을 사용하는 일부 프로그램에 의해 자동으로 생성됩니다. 단지 규칙이 거기에 나타난다는 이유만으로 규칙이 "필요하다"고 가정하지 마십시오.

2) 규칙이 반드시 필요하지 않더라도 규칙을 포함하고 허용되지 않음을 명시적으로 명시하는 것이 좋은 습관이 될 수 있습니다.

3) 즉, 테이블 끝에 도달하고 기본 DROP 정책이 적용되기 전에 패킷을 허용하는 다른 규칙이 있는 경우 실제로 이 규칙을 포함해야 할 수 있습니다.

특히 FORWARD 체인의 규칙 11과 12는 동일해 보이고 모든 것을 허용하는 것처럼 보입니다(따라서 아마도 나열되지 않은 속성이 있을 수 있습니다. -S대신 시도하십시오 -L). 실제로 그렇다면 이는 기본 정책과 동일합니다. 수락하면 삭제하려는 모든 항목을 명시적으로 삭제해야 합니다.

관련 정보