마지막으로 iptables에 대해 읽고 있습니다. 필터 테이블(설치됨, fedora 17)의 입력 체인이 다음과 같기 때문에 약간 혼란스럽습니다.
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere 224.0.0.251 state NEW udp dpt:mdns
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
내가 읽은 바에 따르면 세 번째 규칙은 무엇이든 허용해야 하지만 그렇지 않습니다(sshd 또는 https 서버에 대한 액세스를 허용하려면 iptables를 비활성화해야 합니다). 다른 모든 테이블에 대한 다른 모든 체인은 모든 것을 거부하는 필터 전달을 제외하고는 규칙 없이 정책을 수락합니다.
그렇다면 ACCEPT는 정확히 무엇을 하는 걸까요?
iptables -v -L
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
36625 38M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- any any anywhere anywhere
1 60 ACCEPT all -- lo any anywhere anywhere
0 0 ACCEPT udp -- any any anywhere 224.0.0.251 state NEW udp dpt:mdns
534 73926 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 31484 packets, 3973K bytes)
pkts bytes target prot opt in out source destination
그렇다면 이것이 나에게 의미하는 바는 세 번째 규칙이 실제로 루프백 인터페이스에만 적용된다는 것입니다. [예]
답변1
이 ACCEPT
대상은 패킷이 NetFilter를 통과하도록 허용하는 종료 대상입니다. 이는 REJECT
패킷이 통과하는 것을 효과적으로 방지하고 ICMP 응답이 패킷 발신자에게 전송되도록 하는 종료 대상입니다. "iptables -v -L" 명령을 사용하여 테이블을 나열한 경우 예제의 세 번째 규칙은 다음과 같습니다.
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
639 304K ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 ACCEPT icmp -- any any anywhere anywhere
101 7798 ACCEPT all -- lo any anywhere anywhere
이 열에는 in
규칙과 일치하는 인터페이스가 있습니다. 세 번째 규칙의 경우 lo
인터페이스이므로 이 규칙은 인터페이스의 모든 트래픽을 허용합니다 . 이는 올바른 것입니다. 그렇지 않으면 해당 주소로 loopback
어떤 localhost 서비스에도 액세스할 수 없습니다 .TCP
UDP
localhost