내 Linux VM은 여러 네트워크 카드(eth0 및 eth1)로 구성되어 있습니다. 이제 NIC에서는 SSH를 활성화하고 eth0에서만 HTTPS를 활성화하고 싶습니다. 해당 영역을 제외한 모든 트래픽을 삭제하도록 드롭 영역을 기본값으로 설정했습니다.
하지만 아래와 같이 공개 영역에 이 구성을 추가하면
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: dhcpv6-client https ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
그러면 두 네트워크 카드 또는 두 네트워크 카드 중 하나에서 https 및 ssh가 활성화됩니다. NIC 서비스 관계를 관리할 수 있는 방법이 있습니까?
답변1
Firewalld는 "영역" 개념을 사용하여 규칙을 인터페이스에 매핑합니다. 영역( firewall-cmd --zone=public --add-service=http --permanent
)에 서비스를 추가하면 해당 영역의 구성원인 모든 인터페이스에서 서비스가 허용됩니다.
인터페이스마다 다른 규칙을 설정하려면 별도의 영역을 생성해야 합니다.
이 기사다중 영역 구성의 예를 포함하여 Linux Journal의 기사는 이 주제에 대한 유용한 리소스입니다.
예를 들어:
해당 영역에서 eth1을 제거
public
하고 그곳으로 이동합니다internal
.firewall-cmd --zone=internal --change-interface=eth1 --permanent
ssh
이 영역을 허용합니다internal
:firewall-cmd --zone=internal --add-service=ssh --permanent
방화벽 구성을 다시 로드합니다.
firewall-cmd --reload
internal
public
그런 다음 원하는 구성을 달성하기 위해 필요에 따라 영역에 서비스를 추가하고 제거합니다 .
또는 비교적 간단한 방화벽 구성이 있는 경우 규칙을 수동으로 삭제 firewalld
하고 작성할 수 있습니다.iptables