CentOS 7 / firewall-cmd 명령어로 방화벽 관리하기

CentOS 7의 방화벽 관리 데몬은 firewalld입니다. 설정은 firewall-cmd 명령어로 합니다.

방화벽 실행 여부 확인

firewall-cmd --state

실행 중이면 running, 실행 중이 아니면 not running을 출력합니다.

방화벽 다시 로드

firewall-cmd --reload

방화벽 설정 후 다시 로드해야 적용됩니다.

존(Zone) 출력하기

firewall-cmd --get-zones

존(zone) 목록을 출력합니다.

firewall-cmd --get-default-zone

기본 존을 출력합니다.

firewall-cmd --get-active-zones

활성화된 존을 출력합니다.

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

firewall-cmd --list-all

사용 가능한 모든 서비스/포트 목록을 출력합니다.

firewall-cmd --zone=public --list-all

public 존에 속한 사용 가능한 모든 서비스/포트 목록을 출력합니다.

서비스/포트 추가/제거

firewall-cmd --add-service=ftp

ftp 서비스를 추가합니다.

firewall-cmd --remove-service=ftp

ftp 서비스를 제거합니다.

firewall-cmd --add-port=21/tcp

21 tcp 포트를 추가합니다.

firewall-cmd --remove-port=21/tcp

21 tcp 포트를 제거합니다.

--zone=<zone>

zone 옵션이 없으면 기본 존(default zone)에 추가 또는 삭제를 합니다. 다른 존에 작업하고 싶으면 zone 옵션을 추가합니다. 예를 들어

firewall-cmd --zone=trusted --add-service=ftp

는 trusted 존에 ftp 서비스를 추가합니다.

--permanent

시스템 재부팅 또는 방화벽 재시작 후에도 적용되도록 하려면 --permanent 옵션을 붙입니다.

firewall-cmd --permanent --add-service=ftp

같은 카테고리의 다른 글

CentOS 7 / 고정 IP 설정하는 방법

CentOS 7 / 고정 IP 설정하는 방법

CentOS 7을 설치할 때 네트워크를 설정할 수 있습니다. GUI 환경이므로 네트워크 설정을 알고 있다면 쉽게 고정 IP로 설정할 수 있습니다. 만약 DHCP로 설치했다면 다음과 같은 방법으로 고정 IP 설정을 할 수 있습니다. CentOS 8에서 고정 IP 설정하는 방법은 여기에 있습니다. 네트워크 설정 파일 열기 네트워크 설정 파일은 /etc/sysconfig/network-scripts/ifcfg-enp0s3입니다.(파일 이름은 다를 수도 있습니다.) 설정 파일을 텍스트 에디터로 ...

CentOS 8 / 화면 해상도 변경하는 방법

CentOS 8 / 화면 해상도 변경하는 방법

바탕화면에서 마우스 우클릭하고 Display Settings를 클릭합니다. Resolution에서 원하는 해상도를 선택합니다. 오른쪽 위의 Apply를 클릭합니다. Keep Changes를 클릭합니다. 해상도 변경이 완료되었습니다.

CentOS 7 / APM(Apache, PHP, MariaDB) 설치하는 방법

CentOS 7 / APM(Apache, PHP, MariaDB) 설치하는 방법

CentOS 7에 Apache, PHP, MariaDB를 설치하는 방법을 간략히 정리합니다. CentOS 8에 Apache, PHP, MariaDB를 설치하는 방법은 여기에 있습니다. APM 설치 Apache, PHP, MariaDB을 설치합니다. yum install httpd php mariadb-server php-mysql 서비스 설정 Apache가 부팅 시 자동으로 시작되도록 합니다. systemctl enable httpd.service MariaDB가 부팅 시 자동으로 시작되도록 합니다. systemctl enable mariadb.service Apache를 시작합니다. systemctl start httpd.service MariaDB를 시작합니다. systemctl start mariadb.service 방화벽 설정 http로 접속할 수 있도록 ...

CentOS 8 / Squid로 Proxy Server 만드는 방법

CentOS 8 / Squid로 Proxy Server 만드는 방법

리눅스로 프록시 서버(Proxy Server)를 만들 때 스퀴드(Squid)를 주로 사용합니다. 오픈 소스이고, 대부분의 리눅스 배포판에 패키지로 포함되어 있습니다. 스퀴드(squid)는 대중적인 오픈 소스(GPL)소프트웨어 프록시 서버이자 웹 캐시이다. 반복된 요청을 캐싱함으로 웹서버의 속도를 향상시키는 것부터, 네트워크 자원을 공유하려는 사람들에게 웹, DNS와 다른 네트워크 검색의 캐싱을 제공하고, 트래픽을 걸러줌으로써 안정성에 도움을 주는 등에 이르기까지 광범위 ...

CentOS 7 / Let’s Encrypt에서 무료 SSL 인증서 발급 받는 방법

CentOS 7 / Let’s Encrypt에서 무료 SSL 인증서 발급 받는 방법

CentOS 7에서 Let’s Encrypt 인증서를 발급 받는 방법을 요약합니다. 환경 CentOS 7 Apache Web Server 설치 저장소 추가 yum install epel-release 설치 yum install python-certbot-apache 인증서 발급 abc.com 인증서 발급 certbot --apache -d abc.com abc.com과 www.abc.com 인증서 동시 발급 certbot --apache -d abc.com -d www.abc.com 인증서 갱신 certbot renew Let’s Encrypt 인증서는 90마다 갱신해야 합니다.

CentOS 7 / MySQL 설치하고 root 사용자 비밀번호 만드는 방법

CentOS 7 / MySQL 설치하고 root 사용자 비밀번호 만드는 방법

CentOS 7 패키지에는 MySQL 대신 MariaDB가 들어있습니다. 이런저런 이유로 MySQL을 꼭 사용해야 한다면 좀 번거로운 과정을 거쳐야 합니다. 일단 다음 사이트에 접속합니다. https://dev.mysql.com/downloads/repo/yum/ CentOS 7에 맞는 패키지 이름을 확인합니다. CentOS 7에서 다음과 같이 명령하여 패키지를 다운로드합니다. wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 패키지를 설치합니다. rpm -ivh mysql57-community-release-el7-11.noarch.rpm MySQL을 설치합니다. yum install mysql-server 시스템을 시작할 때 자동으로 MySQL이 시작되도록 합니다. systemctl enable mysqld MySQL을 시작합니다. systemctl start mysqld MySQL을 ...

CentOS 7 / yum으로 phpMyAdmin 설치하는 방법

CentOS 7 / yum으로 phpMyAdmin 설치하는 방법

phpMyAdmin은 MySQL 또는 MariaDB를 관리하는 유용한 툴입니다. 그런데 CentOS 7 기본 패키지에는 포함되어 있지 않습니다. 하지만, EPEL Repo를 추가하면 yum으로 설치하고 업그레이드를 할 수 있습니다. EPEL Repo 추가 yum install epel-release phpMyAdmin 설치 yum install phpmyadmin 설정 파일 /etc/httpd/conf.d/phpMyAdmin.conf 기본 설정은 외부 접속 불가입니다. 접속하는 PC의 IP를 추가하면 외부 접속이 가능합니다. 접속 주소 http://server-ip/phpMyAdmin

CentOS 7 / rsyslog / 로그 서버 구축하는 방법

CentOS 7 / rsyslog / 로그 서버 구축하는 방법

CentOS 7을 설치하면 로그 기록을 위한 rsyslog 패키지가 설치되고 실행됩니다. 로그는 로컬 컴퓨터에 저장되는데, 관리하는 컴퓨터가 여러 대인 경우 각각의 로그를 따로 모니터링하는 것이 불편할 수 있습니다. 그런 경우 하나의 컴퓨터를 로그를 수집하는 서버로 만들어서 그 서버에 로그가 쌓이게 하면, 좀 더 수월하게 로그를 관리할 수 있습니다. rsyslog는 간단한 설정 변경으로 ...

CentOS 8 / 고정 IP 설정하는 방법

CentOS 8 / 고정 IP 설정하는 방법

CentOS 8에서 DHCP로 설정된 네트워크를 고정 IP로 변경하는 방법입니다. 설정 파일 수정은 CentOS 7과 같으나, 네트워크를 재시작하는 명령어가 다릅니다. 네트워크 설정 파일 수정 네트워크 설정 파일은 /etc/sysconfig/network-scripts에 있습니다. 파일 이름은 ifcfg-enp0s3 처럼 생겼습니다. 텍스트 에디터로 열면 다음과 같이 설정되어 있습니다. TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="f29f8b49-d6de-44e9-94b8-e3c75de02191" DEVICE="enp0s3" ONBOOT="yes" BOOTPROTO=”dhcp” 앞에 #을 넣어서 주석 처리를 하고, 네트워크 정보를 적절히 추가합니다. TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" #BOOTPROTO="dhcp" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="f29f8b49-d6de-44e9-94b8-e3c75de02191" DEVICE="enp0s3" ONBOOT="yes" BOOTPROTO="static" IPADDR="192.168.0.113" NETMASK="255.255.255.0" GATEWAY="192.168.0.1" DNS1="8.8.8.8" DNS2="8.8.4.4" 네트워크 재시작 또는 재부팅 다음과 같이 명령하여 ...

CentOS 8 / DNF 사용법

CentOS 8 / DNF 사용법

DNF는 CentOS 8에 추가된 패키지 관리 명령어입니다. YUM과 사용법이 비슷합니다. 도움말 보기 dnf -h 패키지 목록 보기 dnf list 그룹 목록 보기 dnf grouplist zip 관련 패키지 검색 dnf search zip zip 패키지 정보 출력 dnf info zip Server with GUI 그룹 정보 출력 dnf groupinfo 'Server with GUI' zip 패키지 설치 dnf install zip zip 패키지 삭제 dnf remove zip httpd와 php 설치 dnf install httpd php Server ...

Linux