Firewalld가 도우미에 대해 iptables 규칙을 활성화하는 것을 볼 수 없습니다. 왜? 어떤 이유로 어시스턴트가 비활성화되었나요?

Firewalld가 도우미에 대해 iptables 규칙을 활성화하는 것을 볼 수 없습니다. 왜? 어떤 이유로 어시스턴트가 비활성화되었나요?

다음은 공개 영역에서 FTP 서비스를 활성화하여 추가된 FTP 도우미의 예입니다.

# iptables -t raw -S | grep CT
-A PRE_public_allow -p tcp -m tcp --dport 21 -j CT --helper ftp

https://firewalld.org/2016/10/automatic-helper-locationment

기본 도우미를 비활성화하려고 시도하지 않았지만 위 명령을 실행하면 그러한 규칙이 표시되지 않습니다. 도 아니고 sudo iptables-save | grep 21. 왜?


# rpm -q firewalld
firewalld-0.5.5-1.fc28.noarch

답변1

공개영역에서 FTP 서비스를 활성화하여 추가한 FTP 헬퍼의 [예]입니다.

ftp "helper"는 ftp "service"를 명시적으로 허용한 경우에만 활성화되는 것 같습니다 firewalld. 모든 도우미 정의에 대해 일치하는 서비스 정의가 있어야 합니다.

처음에는 "서비스"가 FTP를 실행할 때만 활성화될 것이라고 생각했습니다.섬기는 사람. 파일 전송 프로토콜수동적인오늘날 선호되는 모델에는 여전히 추가 연결이 필요합니다. 파일 데이터를 전송하려면 클라이언트가 두 번째 포트를 통해 서버에 연결해야 합니다. 어떤 포트가 사용되고 있는지 감지하고 이 추가 연결을 허용하려면 "도우미"가 필요합니다.

도우미 중 어느 것도 -client(예: services dhcpv6-client)로 표시되지 않습니다. 하지만 제가 아는 한 FTP 서비스를 활성화하면고객원시 FTP를 사용할 수 있도록 허용합니다.긍정적인모드( firewalld이것이 유일한 방화벽이라고 가정). 나는 이 예가 큰 보안 문제라고 생각하지 않지만 매우 혼란스러울 수 있습니다 :-(.

(Nicholas: FedoraWorkstation은 1024보다 높은 포트로 들어오는 연결을 허용하기 때문에 어쨌든 FTP 활성 모드를 허용합니다. 이유를 묻지 마십시오.)

두 번째로 본 예시는 irc helper인데, 이해가 되지 않았습니다. 제가 보기에는 고장난 것 같습니다.

# cat /usr/lib/firewalld/helpers/irc.xml
<?xml version="1.0" encoding="utf-8"?>
<helper module="nf_conntrack_irc" family="ipv4">
  <port protocol="tcp" port="194"/>
</helper>
# cat /usr/lib/firewalld/services/irc.xml 
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>IRC</short>
  <description>An IRCd, short for Internet Relay Chat daemon, is server software that implements the IRC protocol.</description>
  <port protocol="tcp" port="6667"/>
</service>

관련 정보