방화벽 킬 스위치 구성

방화벽 킬 스위치 구성

내 컴퓨터에 방화벽 킬 스위치를 구성하고 싶지만 수행 방법을 모르겠습니다. 들어오는 모든 트래픽을 차단하고 싶습니다. 특정 IP 주소, 포트 및 인터페이스에서만 나가는 트래픽을 허용합니다.

ufw의 대안은 다음과 같습니다.

ufw default deny incoming
ufw default deny outgoing
ufw allow out to $IP port $PORT proto { udp | tcp }
ufw allow out on $VPN_INTERFACE
ufw allow in on $VPN_INTERFACE from any to any port 60002

감사해요!

답변1

이건 내 것에서 온 거야자신의 블로그여기서는 영역, 정책 및 강화 규칙에 대해 좀 더 설명합니다.

Firewalld는 영역 및 정책과 함께 작동합니다. 원하는 것을 달성하려면 모든 인터넷 연결 카드를 VPN 전용 영역에 할당하고 해당 영역에 들어오는 모든 트래픽을 필터링하는 정책을 만들어야 합니다.

여기서는 자신의 컴퓨터에서 들어오는 트래픽만 필터링하려고 하므로 정책에 수신 영역 HOST와 송신 영역 VPN 전용이 포함된다고 가정합니다.

VPN 전용 영역을 생성합니다:

firewall-cmd --permanent --new-zone VPN-Only

VPN-Killswtich 정책을 생성합니다.

firewall-cmd --permanent --new-policy VPN-Killswitch

정책의 기본 목표(명시적으로 허용하지 않는 항목을 제거하는 것을 의미):

firewall-cmd --permanent --policy VPN-Killswitch --set-target DROP

변경사항을 적용하려면 새로고침하세요.

firewall-cmd --reload

이제 아웃바운드 트래픽이 VPN IP에 도달하도록 허용하는 정책 규칙을 추가해 보겠습니다. 각 지역에 대해 이 규칙을 반복하여 1.2.3.4를 VPN의 IP로 바꿉니다. wireguard를 사용하는 경우 openvpn을 wireguard로 변경하세요.

firewall-cmd --policy VPN-Killswitch --add-rich-rule='rule family="ipv4" destination address="1.2.3.4" service name="openvpn" accept'

로컬 네트워크로 나가는 트래픽을 허용합니다.

firewall-cmd --policy VPN-Killswitch --add-rich-rule='rule family="ipv4" destination address="192.168.1.0/24" accept'

입구 영역을 설정합니다.

firewall-cmd --policy VPN-Killswitch --add-ingress-zone HOST

출구 지역:

firewall-cmd --policy VPN-Killswitch --add-egress-zone VPN-Only

이제 VPN 전용 영역에 네트워크 카드를 추가하기만 하면 됩니다. 이는 NetworkManager GUI(또는 CLI) 또는 방화벽을 통해 수행할 수 있습니다.

NetworkManager를 사용하여 필터링하려는 연결에 대한 속성 창을 열고 일반 구성 탭에서 방화벽 영역을 VPN 전용으로 설정합니다.

또는 방화벽을 사용하십시오.

firewall-cmd --permanent --zone VPN-Only --add-interface=enp0s8

설정을 테스트하고 영구적으로 만듭니다.

firewall-cmd --runtime-to-permanent

관련 정보