Ubuntu 방화벽, UFW 주요 설정 명령어

silentbrain ㅣ 2022. 10. 3. 14:56

 

[IP Forwarding 설정]
#만약 Ubuntu를 방화벽, 라우팅 목적으로 구성 중이라면 IP 포워딩이 가능하도록 설정 필요

vi /etc/ufw/sysctl.conf

 

#파일 수정, 아래 설정은 /etc/sysctl.conf 의 설정을 override함

net/ipv4/ip_forward=1 

 

[UFW IP Masquerade, NAT, PAT 설정]

vi /etc/ufw/before.rules

 

#파일 수정, *filter 항목전에 적용
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.10.0/24 -o enp3s0 -j MASQUERADE
COMMIT

 

 

[UFW 정책 설정]
vi /etc/default/ufw

 

#파일 수정
DEFAULT_FORWARD_POLICY="ACCEPT"

 


#ufw 활성/비활성
ufw disable
ufw enable

 

 

#설정 적용
ufw reload

 

 

#소스 IP 1.1.1.1로부터 (내 ubuntu의 어떤 인터페이스, IP든 상관없이)tcp:65522를 허용함
ufw allow from 1.1.1.1 to any port 65522 proto tcp

 

 

#eth0 인터페이스에서 소스IP 2.2.2.2로부터 오는 모든 통신을 차단
ufw deny in on eth0 from 2.2.2.2

 

 

#설정 정책을 번호(우선순위)별로 출력하기

ufw status numbered

 

 

#방화벽 정책은 우선순위 숫자가 작을 수록 높으며, 순서에 따라 패킷이 허용 또는 차단되고 나면 뒷쪽의 정책은 적용되지 않는다. 

#아래 예시의 경우 3번 정책에서 192.168.10.0/24로부터 Ingress 트래픽이 허용되었다 하더라도 이미 2번 정책에서 이미 모든 Ingress 트래픽을 차단했으므로 해당 트래픽은 통과할 수 없다. 

sudo ufw status numbered 출력 예시


#정책 삭제
sudo ufw delete 위에서_출력된_정책_번호

 


#특정 우선순위 번호로 정책 넣기

# 소스IP 1.1.1.0/24로부터 (목적IP가 뭐든= any) tcp:65522로  enp3s0 인터페이스로 수신시  허용하는 정책 우선순위1로 설정하고, Hit되면 로그를 남긴다.
sudo ufw insert 1 allow in on enp3s0 log from 1.1.1.0/24 to any port 65522 proto tcp