Rocky Linux / firewall-cmd / 방화벽 설정

Rocky Linux의 방화벽 관리 데몬은 firewalld이다. 관리는 firewall-cmd 명령어로 한다.

방화벽 실행 여부 확인

  • 실행 중이면 running, 실행 중이 아니면 not running을 출력한다.
# firewall-cmd --state
running

방화벽 다시 로드

  • 방화벽 설정을 추가하거나 수정한 경우, 다시 로드해야 적용된다.
# firewall-cmd --reload

Zone 출력하기

  • Zone 목록을 출력한다.
# firewall-cmd --get-zones
block dmz drop external home internal nm-shared public trusted work
  • 활성화된 Zone을 출력한다.
# firewall-cmd --get-active-zone
public
  interfaces: eth2 eth1 eth0
  • 기본 Zone을 출력한다.
# firewall-cmd --get-default-zone
public

사용 가능한 서비스/포트 출력하기

  • 사용 가능한 모든 서비스/포트 목록을 출력한다.
# firewall-cmd --list-all
  • public zone에 속한 사용 가능한 모든 서비스/포트 목록을 출력한다.
# firewall-cmd --zone=public --list-all

서비스 추가/제거

  • 서비스 목록을 출력한다.
# firewall-cmd --get-services
RH-Satellite-6 RH-Satellite-6-capsule afp amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit collectd condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger foreman foreman-proxy freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp galera ganglia-client ganglia-master git grafana gre high-availability http http3 https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jellyfin jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-api kube-apiserver kube-control-plane kube-controller-manager kube-scheduler kubelet-worker ldap ldaps libvirt libvirt-tls lightning-network llmnr llmnr-tcp llmnr-udp managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nbd netbios-ns nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rquotad rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wireguard ws-discovery ws-discovery-client ws-discovery-tcp ws-discovery-udp wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server zerotier
  • ftp 서비스 정보를 출력한다.
# firewall-cmd --info-service=ftp
ftp
  ports: 21/tcp
  protocols:
  source-ports:
  modules:
  destination:
  includes:
  helpers: ftp
  • ftp 서비스를 추가한다.
# firewall-cmd --add-service=ftp
success
  • ftp 서비스를 제거한다.
# firewall-cmd --remove-service=ftp
success

포트 추가/제거

  • 21 tcp 포트를 추가한다.
# firewall-cmd --add-port=21/tcp
success
  • 21 tcp 포트를 제거한다.
# firewall-cmd --remove-port=21/tcp
success

--zone=<zone>

  • zone 옵션이 없으면 default zone에 추가 또는 삭제를 한다. 특정 zone에 작업하고 싶으면 zone 옵션을 추가한다.
  • 예를 들어 trusted zone에 ftp 서비스를 추가하고 싶다면 다음과 같이 한다.
# firewall-cmd --zone=trusted --add-service=ftp

--permanent

  • 시스템 재부팅 또는 방화벽 재시작 후에도 적용되도록 하려면 --permanent 옵션을 붙힌다.
# firewall-cmd --permanent --add-service=ftp

방화벽 끄기, 켜기

  • 방화벽을 끈다.
systemctl stop firewalld
  • 시스템 시작할 때 방화벽 서비스를 시작하지 않게 한다.
systemctl disable firewalld
  • 방화벽을 켠다.
systemctl start firewalld

 

같은 카테고리의 다른 글

Rocky Linux / DNF 사용법

dnf는 패키지를 관리하는 명령어이다. 도움말 보기 # dnf -h 패키지 목록 보기 # dnf list 그룹 목록 보기 # dnf grouplist Last metadata expiration check: 0:36:47 ago on Sun 19 Nov 2023 07:04:08 AM KST. Available Environment Groups: Server with GUI Server Workstation Custom Operating System Virtualization Host Installed ...

Rocky Linux / hostname 변경하는 방법

Rocky Linux / hostname 변경하는 방법

CLI 다음과 같이 명령하면 hostname을 출력한다. hostname 다음과 같이 명령하면 hostname을 rocky로 변경한다. hostnamectl set-hostname rocky GUI 의 Device Name에서 변경한다.

Rocky Linux 9 / Apache / Virtulahost 만드는 방법

하나의 서버에서 여러 사이트를 운영할 수 있다. Rocky Linux 9에서 Apache 웹서버로 구현하는 방법을 정리한다. Selinux가 활성화되어 있으면 작동하지 않고, 별도의 설정이 필요하다. 여기서는 Selinux를 끄고 진행한다. 목표 하나의 서버에서 두 개의 사이트를 운영한다. http://aaa.manualfactory.net로 접속하면 Welcome to AAA!, http://bbb.manualfactory.net으로 접속하면 Welcome to BBB!를 출력한다. DNS 설정 aaa.manualfactory.net. bbb.manualfactory.net 모두 같은 IP로 가도록 설정한다. 폴더와 파일 생성 /home/aaa ...

Rocky Linux / 설치

Rocky Linux / 설치

다운로드 아래 링크에서 ISO 파일을 다운로드한다. https://rockylinux.org/download Boot, Minimal, DVD 세 가지가 있는데, 다음과 같이 설명되어 있다. Boot Used to install the operating system from another source (such as a HTTP repository of the binary files). Can also be used to enter Rescue Mode. Minimal Used to install the operating system from another source (such as a ...

Rocky Linux 9 / Apache, PHP, MariaDB 설치

Rocky Linux 9 / Apache, PHP, MariaDB 설치

Apache 설치 Apache를 설치한다. dnf install httpd httpd를 시작한다. systemctl start httpd 시스템 재부팅 후에도 자동으로 시작되게 하고 싶다면 다음과 같이 명령한다. systemctl enable httpd 방화벽 설정 http, 즉 80 포트를 연다. firewall-cmd --permanent --add-service=http https, 즉 443 포트를 연다. firewall-cmd --permanent --add-service=https 방화벽을 다시 로드한다. firewall-cmd --reload 테스트 웹브라우저로 서버 IP에 접속한다. 다음과 같이 나오면 제대로 설치되고 시작된 것이다. PHP 설치 PHP를 설치한다. dnf install php Apache를 다시 시작한다. systemctl restart ...

Rocky Linux / 원격 데스크톱으로 연결하는 방법

Rocky Linux / 원격 데스크톱으로 연결하는 방법

패키지 설치 다음과 같이 명령하여 EPEL(Extra Packages of Enterprise Linux) 저장소를 추가한다. dnf install epel-release xrdp 패키지를 설치한다. dnf install xrdp 원격 데스크톱이 사용하는 포트는 3389이다. firewall-cmd로 3389 포트를 열어준다. firewall-cmd --permanent --add-port=3389/tcp 방화벽을 다시 로드한다. firewall-cmd --reload systemctl 명령어로 xrdp 서비스를 시작한다. systemctl start xrdp 시스템 재부팅 후에도 자동으로 실행되게 하려면 다음과 같이 명령한다. systemctl enable xrdp 원격 데스크톱 연결 원격 데스크톱 연결 프로그램 등으로 ...

Rocky Linux / root 계정으로 ssh 접속 가능하게 설정하는 방법

Rocky Linux / root 계정으로 ssh 접속 가능하게 설정하는 방법

Rocky Linux를 설치할 때 가능하게 설정하지 않았다면, root 계정으로 ssh 접속을 할 수 없다. 보안 상 권장되는 설정이나, 테스트나 공부 목적 등으로 root 계정으로 ssh 접속하는 게 더 좋은 상황이라면, 다음과 같이 하여 접속을 허용할 수 있다. vi나 nano 같은 텍스트 에디터로 /etc/ssh/sshd_config 파일을 연다. 제일 밑에 다음 코드를 추가하고, 저장한다. PermitRootLogin yes 다음과 ...

Rocky Linux / 고정 IP 설정하는 방법

Rocky Linux / 고정 IP 설정하는 방법

보통 Rocky Linux를 설치할 때 IP를 설정하나, 여러 가지 이유로 IP 설정을 다시 해야 하는 경우가 있다. IP를 설정하는 두 가지 방법을 소개한다. TUI 네트워크 설정 파일을 수정하는 것보다는 NetworkManager Text User Interface(nmtui)를 이용하는 게 편하다. nmtui를 실행한다. Edit a connection을 선택한다. 설정하려는 네트워크 카드를 선택한다. 현재 설정이 나오는데... 적절히 설정한다. 다음과 같이 명령하여 반영한다. systemctl restart NetworkManager GUI Settings를 연다. Network에서 ...

Rocky Linux / firewall-cmd / 방화벽 설정

Rocky Linux / firewall-cmd / 방화벽 설정

Rocky Linux의 방화벽 관리 데몬은 firewalld이다. 관리는 firewall-cmd 명령어로 한다. 방화벽 실행 여부 확인 실행 중이면 running, 실행 중이 아니면 not running을 출력한다. # firewall-cmd --state running 방화벽 다시 로드 방화벽 설정을 추가하거나 수정한 경우, 다시 로드해야 적용된다. # firewall-cmd --reload Zone 출력하기 Zone 목록을 출력한다. # firewall-cmd --get-zones block dmz drop external home internal nm-shared public trusted work 활성화된 Zone을 출력한다. # ...

Rocky Linux / SELinux 끄는 방법

상태 확인 켜진 상태라면 Enforcing, 꺼진 상태라면 Permissive를 출력한다. getenforce 방법 1 다음과 같이 명령하면 SELinux가 꺼진다. 재부팅하면 다시 SELinux가 켜진다. setenforce 0 만약 다시 SELinux를 사용하고 싶다면 다음과 같이 명령한다. setenforce 1 방법 2 /etc/selinux/config에 다음과 같은 코드가 있다. SELINUX=enforcing 다음과 같이 바꾼다. SELINUX=disabled 시스템을 재부팅하면 적용된다. 방법 1과는 달리 재부팅해도 설정이 유지된다.