답변:
iptables
IPv4에서는 작동하지만 IPv6에서는 작동하지 않습니다. ip6tables
해당 IPv6 방화벽이며로 설치됩니다 iptables
.
그러나 궁극적 iptables
으로 IPv4 연결 ip6tables
용이며 IPv6 연결 용입니다. 당신이 원하는 경우 iptables
규칙은 또한 IPv6를 적용하려면에 추가해야 할 ip6tables
뿐만 아니라.
iptables
에서 규칙 세트를 복제하려고 시도하면 수행 할 수있는 ip6tables
모든 규칙이 iptables
깔끔하게 포팅 ip6tables
되지는 않지만 대부분 규칙이 적용 됩니다.
사용하는 명령 이 깔끔하게 포팅 되는지 확인 하려면 맨 페이지를ip6tables
참조하십시오 iptables
.
원하는 경우 방화벽 규칙 목록을 제공하는 경우 (규제 시스템을 식별 할 수있는 정보는 제거) 규칙 ip6tables
과 일치 하는 규칙 세트를 작성하는 데 도움을 줄 수 있습니다 iptables
. 그렇지 않으면 일반적인 질문에만 답변 할 수 있습니다.
ufw
다른 방화벽 관리자가 존재하기 때문에 규칙 자체를 둘 다에 추가합니다. 그러나 여기서 당면한 문제는 "IPv6을 가진 사람이 내 사이트를 볼 수 있습니까?"가 아닙니다. 더 큰 문제는 시스템에 IPv6 주소가 있는지 여부입니다. 대부분의 연결에는 내 컴퓨터와 같은 클라이언트 컴퓨터의 IPv4 및 IPv6이 있습니다. 그러나 원격 서버에 공개되는 IPv6이 없으면 IPv4가 연결됩니다. 알다시피, IPv6가 있다면 규칙도 추가해야합니다 ip6tables
.
iptables
AND를 ip6tables
, 그리고 일반적인 규칙처럼 -p tcp --dport
여전히 것이다 작동하지만 더 복잡한 규칙 수도 없습니다 (같은 -j REJECT --reject-with [something]
)
-j REJECT --reject-with icmp-host-prohibited
예 : 거부 패킷이 IPv6에서 다른 이름이기 때문에)
다른 사람들이 이미 말했듯이 IPv4 및 IPv6에 대한 다른 방화벽 테이블이 있습니다. IPv4와 같이 IPv6에 대한 규칙을 설정할 수 있지만 IPv6를 모르면 엉망이 될 위험이 큽니다. 마찬가지로 ICMP
필수 핸드 셰이크 부분이 있기 때문에 IPv6 을 사용할 수 없습니다 . 발신자에게 프레임이 크다는 것을 알리는 것과 같이 IPv6는 일부 사용자의 경우 작동을 멈출 수 있습니다.
따라서 ufw
또는 패키지를 shorewall6
함께 사용하는 것이 좋습니다 shorewall
. iptables
프론트 엔드 ufw
를 지원 IPv4 및 IPv6 및 하나 또는 두 개의 인터페이스 서버에서 잘 작동하지만 (라우터 나 게이트웨이 작업) 트래픽을 라우팅을하지 않습니다 모두. 트래픽을 라우팅하는 경우 및 shorewall
로 전달하기위한 규칙을 추가하거나 수동으로 추가해야합니다 .iptables
ip6tables
인터페이스에 둘 이상의 IPv6 주소를 가질 수 있다는 것을 잊지 마십시오. 일부는 로컬로만 링크되고 일부는 전역 적으로 정적이며 동적입니다. 따라서 그에 따라 규칙을 설정하고 서버는 올바른 주소에서만 수신 대기해야합니다.