firewalld source와 interfaces는 and 인가요, or 인가요?
다음 명령을 실행하면
❯ sudo firewall-cmd --list-all
이와 같은 결과가 반환됩니다.
public (active)
target: default
icmp-block-inversion: no
interfaces: enp9s0
sources: 173.245.48.0/20 103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 141.101.64.0/18 108.162.192.0/18 190.93.240.0/20 188.114.96.0/20 197.234.240.0/22 198.41.128.0/17 162.158.0.0/15 104.16.0.0/13 104.24.0.0/14 172.64.0.0/13 131.0.72.0/22
services: cockpit dhcpv6-client ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
(참고로 위 ip는 https://www.cloudflare.com/ips-v4에서 확인 할 수 있는 IP 주소입니다)
질문입니다.
이 경우 enp9s0인터페이스로 들어오거나, 저 ip로 들어오는 모든 cockpit, ssh에 대해서 허용되는 것인가요?
아니면 enp9s0 인터페이스로 들어오는 cockpit, ssh가 ip까지 위 목록에 포함되어야 하나요?
and 일것 같은데, and인 경우 인터페이스를 왜 하나의 존에 밖에 못넣을까요..?
실험 결과입니다
source에 없는 ip여도 해당 인터페이스와 포트에 일치하면 접속이 됩니다.
소스와 인터페이스는 or 입니다
특정 인터페이스에서 특정 소스만 허용하려면 rich-rule을 사용하라고 합니다.
인터페이스랑 상관 없이 특정 ip에서의 통신은 전부 허용하기로 했습니다.
ufw만 쓰다가 이제 rhel 계열로 와서 firewalld 알아가고 있는데 엄청 어렵네요.
존과 서비스라는게 있어서 편하게 사용할 수 있겠다 싶었는데..
서비스 정하고 넣기만 하면 될테니..
근데.. 어우. 역시 익숙한게 짱짱맨이라는 생각이 듭니다..ㅋㅋㅋㅋ
시행착오로 배우는게 재밌기는 하네요.ㅎㅎㅎㅎ
익숙한게 제일 편하죠...
좋은정보감사합니다 ㅎㅎ 이렇게 또 배우네요
cmt alert