Iptables에서 FirewallD에 대해 배우고 싶습니다.
drop
내 지역은 서비스가 없는 기본 지역입니다 .
drop (active)
target: DROP
icmp-block-inversion: no
interfaces: enp9s0u2u1u2c2
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
이 영역에 소스 IP를 추가하는 이유는 무엇입니까?
- 모든 로컬 IP를 추가했습니다.
firewall-cmd --add-source=192.168.0.0/16
해당 소스 IP 중 하나에서 오는 경우에도 여전히 모든 패킷을 삭제합니다.
이 영역에 서비스를 추가하면 내가 설정한 소스 IP에 관계없이 누구나 이 서비스에 액세스할 수 있습니다.
서비스를 제한하고 단일 IP(또는 범위)만 서비스에 액세스하도록 허용하려면 어떻게 해야 합니까?
iptables와 비교할 때 방화벽의 동작은 전혀 명확하지 않습니다. 가정이 너무 많고 기본 동작을 알 수 없습니다.
답변1
모든 로컬 IP를 추가했습니다 Firewall-cmd --add-source=192.168.0.0/16
해당 소스 IP 중 하나에서 오는 경우에도 여전히 모든 패킷을 삭제합니다.
~에서방화벽D 문서:
오리진을 영역에 바인딩한다는 것은 해당 로캘이 해당 오리진의 트래픽을 제한하는 데 사용된다는 의미입니다.
drop
따라서 이제 이 영역이 192.168.0.0/16의 트래픽에만 적용되고 다른 트래픽에는 적용되지 않는다고 FirewallD에 알립니다 . 해당 IP 범위 외부에서 들어오는 트래픽은 어떻게 되는지 잘 모르겠습니다. (이와 같이 기본 drop
영역을 수정하는 것은 아마도 좋은 생각이 아닐 것입니다.)
영역에 서비스를 추가한다는 것은 일반적으로 지정된 서비스가 영역의 모든 인터페이스, 소스 IP 주소에 대해 항상 구성될 수 있음을 의미합니다. 영역에 대해 활성화된 서비스가 없으면 모든 트래픽이 차단됩니다. 소스 IP 주소를 영역에 추가해 본 적이 없기 때문에 일반적인 동작이 이 주소와 어떻게 상호 작용하는지 모르겠습니다.
원하는 것을 달성하려면 아마도 새 영역을 만들고 원하는 서비스에 대한 풍부한 규칙을 추가해야 할 것입니다.
firewall-cmd --permanent --new-zone="allow-limited-<service>"
firewall-cmd --permanent --zone="allow-limited-<service>" --add-rich-rule="rule source address=192.168.0.0/16 service name=<service> accept"
이제 이 영역에 네트워크 인터페이스를 할당하면 192.168.0.0/16 (하나 이상의 TCP 및/또는 UDP 포트를 포함할 수 있음) allow-limited-<service>
의 서비스만 허용 하고 다른 모든 서비스는 차단됩니다.<service>
영역은 실제로 특정 네트워크 인터페이스에 쉽게 적용할 수 있는 미리 정의된 방화벽 규칙 집합입니다. 네트워크 인터페이스는 한 번에 하나의 영역에만 할당할 수 있습니다.
FirewallD 로직은 기업/ISP/호스팅 제공업체 용도에 맞게 맞춤화된 것으로 보이며 별도의 VLAN 인터페이스가 있을 수 있으며 기업이 이전 IP 범위와 완전히 다른 IP 범위에서 새 IP 블록을 얻는 경우 IP 주소 할당이 가능할 수 있습니다. 엄청난 변화가 있을 것이다. 이 환경에서는 방화벽 규칙을 (VLAN 또는 물리적)에 바인딩할 수 있습니다.상호 작용목적에 따라 IP 주소는 덜 중요합니다.