![Firewalld는 모든 입력/출력 연결을 차단하고 특정 발신 포트만 허용합니다.](https://linux55.com/image/207319/Firewalld%EB%8A%94%20%EB%AA%A8%EB%93%A0%20%EC%9E%85%EB%A0%A5%2F%EC%B6%9C%EB%A0%A5%20%EC%97%B0%EA%B2%B0%EC%9D%84%20%EC%B0%A8%EB%8B%A8%ED%95%98%EA%B3%A0%20%ED%8A%B9%EC%A0%95%20%EB%B0%9C%EC%8B%A0%20%ED%8F%AC%ED%8A%B8%EB%A7%8C%20%ED%97%88%EC%9A%A9%ED%95%A9%EB%8B%88%EB%8B%A4..png)
저는 모든 들어오고 나가는 연결을 차단하고 특정 나가는 통신만 허용하도록 Fedora 36에 방화벽을 설정하려고 합니다.
- 이 컴퓨터는 어떤 종류의 서버도 아니므로 들어오는 모든 연결을 차단하려고 합니다.
- 선택한 일부 포트만 트래픽을 보낼 수 있도록 허용하고 싶습니다.
제가 생각할 수 있는 것은 다음과 같습니다.
- 모든 인터페이스의 기본 로캘 설정은 다음과 같습니다.사람들
- 기본 공개 영역 대상 설정은 다음과 같습니다.줄이다
- 공개 영역에는 서비스, 포트, 프로토콜 등이 구성되어 있지 않습니다.
- 컴퓨터에서 IPv6이 전혀 활성화되어 있지 않습니다.
- 컴퓨터에 고정 IPv4가 있으므로 dhcp 포트가 필요하지 않습니다.
- 추가 네트워킹 소프트웨어가 설치되지 않은 새 Fedora 시스템에서 이것을 테스트하고 있습니다.
- 방화벽은 변경이 있을 때마다 다시 로드됩니다.
- 나머지는 직접적인 규칙을 사용하여 구성됩니다.
ipv4 filter OUTPUT 0 -p tcp -m tcp --dport 53 -j ACCEPT
ipv4 filter OUTPUT 0 -p tcp -m tcp --dport 80 -j ACCEPT
ipv4 filter OUTPUT 0 -p tcp -m tcp --dport 443 -j ACCEPT
ipv4 filter OUTPUT 1 -m state --state ESTABLISHED,RELATED -j ACCEPT
ipv4 filter OUTPUT 2 -m state --state INVALID -j DROP
ipv4 filter OUTPUT 3 -o lo -j ACCEPT
ipv4 filter OUTPUT 4 -j DROP
이것은 작동하지 않습니다. 사이트를 로드할 수 없습니다.
위의 --state 규칙에 NEW를 추가하면 웹사이트를 로드할 수 있습니다.
ipv4 filter OUTPUT 1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
그러나 모든 --dport 규칙을 제거하고 ss -tupan
보류 중인 연결이 표시되지 않을 때까지 기다리면 생성된 규칙에 의해 포트가 명시적으로 허용되지 않는다는 사실에 관계없이 새 사이트를 계속 로드할 수 있습니다.
ipv4 filter OUTPUT 1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
ipv4 filter OUTPUT 2 -m state --state INVALID -j DROP
ipv4 filter OUTPUT 3 -o lo -j ACCEPT
ipv4 filter OUTPUT 4 -j DROP
--dport 규칙을 ACCEPT에서 DROP으로 변경하면 사이트가 로드되지 않지만 이는 내가 원하는 것이 아닙니다.
내 이해는 --dport 규칙이 없으면 모든 것이 제거되어야 하며 --dport 규칙만 특정 포트를 허용한다는 것입니다. 그래서 새로운 상태가 필요하지 않습니다.
어떻게 하면 그렇게 동작하게 만들 수 있나요?
감사해요.