답변:
현재 CLI 명령을 통해 방화벽을 활성화하기 전에 입력 한 규칙을 표시 할 수있는 방법이 없습니다. 그러나 규칙 파일을 직접 검사 할 수 있습니다. /lib/ufw/user*.rules에는 'ufw'CLI 명령을 통해 제어되는 규칙이 포함되어 있습니다. 예 :
$ sudo grep '^### tuple' /lib/ufw/user*.rules
다음과 같은 출력이 표시됩니다 ( 'sudo ufw allow OpenSSH로 추가 된 규칙의 경우).
/lib/ufw/user.rules:### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 OpenSSH - in
'tuple'은 ufw에서 규칙을 추적하기 위해 내부적으로 사용되는 속기이며 다음 중 하나로 해석 될 수 있습니다.
### tuple ### <action> <proto> <dst port> <dst> <src port> <src> <direction>
### tuple ### <action> <proto> <dst port> <dst> <src port> <src> <dst app name> <src app name> <direction>
이를 지원하기 위해 다른 상태 명령을 추가하는 것이 유용 할 수 있습니다. 버그 신고를 고려하십시오.
/lib
내 의견에 매우 이상하다
ufw show added
, 아래
ufw show added
방화벽이 비활성화 된 경우에도 구성된 규칙을 나열 하는 명령이 있습니다. 이 버그 보고서에 대한 픽스로 추가되어 v0.33에 추가되었습니다.
이제 할 수 있습니다 :
# ufw status
Status: inactive
# ufw allow ssh
Rules updated
Rules updated (v6)
# ufw show added
Added user rules (see 'ufw status' for running firewall):
ufw allow 22
# ufw enable
Firewall is active and enabled on system startup
# ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
의 출력 형식을 사용하면 ufw show added
각 규칙에 대한 삭제 명령을 훨씬 쉽게 작성할 수 있습니다.
Ubuntu 16.04에서 사용자 정의 규칙은에 저장됩니다 /etc/ufw/user.rules
. 따라서 다음과 같은 규칙을 볼 수 있습니다.
sudo cat /etc/ufw/user.rules
sudo grep '^### tuple' /etc/ufw/user*.rules
. 사용자 추가 규칙의 형식화 된 목록.
sudo ufw show added
대신 사용하십시오 .
커맨드 라인에서 방법이없는 것 같습니다. 그러나 우분투 상자에서 (우분투 상자로) SSH를 사용하는 경우 약간 복잡한 방법으로 시도해 볼 수 있습니다.
기본적으로 원격 상자에 gufw를 설치 한 다음 X 전달에 연결하고 GUI를 실행하십시오.
-X
옵션으로 연결 한 후 원격 장치에서 :
sudo apt-get install gufw
sudo gufw
규칙 세트를 활성화하지 않고 표시합니다.
원격 장치가 "헤드리스"서버 인 경우 GUFW를 설치하면 불쾌한 종속성이 줄어들 수 있습니다. 그러나 여기 누군가가 UFW가 먼저 활성화하지 않고 필요한 출력을 보여줄 수있는 트릭을 알지 못하면 이것이 유일한 옵션 일 수 있습니다.
나는 시도 sudo ufw show raw
했지만 iptables 출력을 보여 주므로 머리도 꼬리도 만들 수 없다.
ufw show added
@simon 이 제공 한 것입니다.