CentOS 방화벽 설정

앞서 총 결 된 일련의 CentOS 설치 미들웨어 튜 토리 얼 은 방화벽 이 꺼 진 상태 에서 진행 된다 고 가정 하고 실전 에서 포트 가 통 하지 않 는 등 상황 이 발생 할 수 있 으 며 ECS 클 라 우 드 서버 라면 보안 팀 정책 을 수정 하 는 방식 으로 포트 방문 을 열거 나 닫 을 수 있 지만 자신의 기기 라면 방화벽 을 수 동 으로 닫 아야 한다.(또는 지정 한 포트 에 대한 접근 을 엽 니 다) CentOS 7 과 CentOS 6 방화벽 의 일반적인 설정 을 소개 합 니 다.
우선, 서버 운영 체제 버 전 확인:
shell> cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

CentOS 7
1. 방화벽 서비스
1) 상태 보기
활성: active (running), 방화벽 이 열 렸 습 니 다.
shell> systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-04-06 00:03:45 CST; 2s ago
     Docs: man:firewalld(1)
 Main PID: 5463 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─5463 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

활성: inactive (dead), 방화벽 이 닫 혔 습 니 다.
shell> systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

2) 시작 & 정지
시동 을 걸다
shell> systemctl start firewalld

멈추다
shell> systemctl stop firewalld

다시 시작
shell> systemctl restart firewalld

3) 자동 시동
부팅 허용
shell> systemctl enable firewalld

부팅 금지
shell> systemctl disable firewalld

종합 적 으로 CentOS 7 은 간단 하고 거 칠 게 방화벽 을 완전히 닫 으 려 면 다음 과 같이 실행한다.
shell> systemctl stop firewalld
shell> systemctl disable firewalld

2. 방화벽 명령
1) 상태 보기
running, 방화벽 이 열 렸 습 니 다.
shell> firewall-cmd --state
running

not running, 방화벽 이 열 리 지 않 음
shell> firewall-cmd --state
not running

2) 방화벽 규칙 보기
shell> firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp2s0
  sources: 
  services: ssh dhcpv6-client
  ports: 3888/tcp 2181/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

3) 포트 제어
열 린 포트 모두 보기
shell> firewall-cmd --list-ports
3888/tcp 2181/tcp

지정 한 포트 가 열 렸 는 지 확인 합 니 다.
shell> firewall-cmd --query-port=3306/tcp
no
shell> firewall-cmd --query-port=2181/tcp
yes

포트 추가
shell> firewall-cmd --add-port=2888/tcp --permanent  
success
shell> firewall-cmd --add-port=65001-65010/tcp --permanent
shell> firewall-cmd --reload
success
# 查看是否添加成功
shell> firewall-cmd --list-ports                   
3888/tcp 2181/tcp 2888/tcp

포트 삭제
shell> firewall-cmd --remove-port=2888/tcp --permanent   
success
shell> firewall-cmd --reload    
success
# 查看是否删除成功
shell> firewall-cmd --list-ports
3888/tcp 2181/tcp

범위 추가
shell> firewall-cmd --add-port=65001-65010/tcp --permanent
success
shell> firewall-cmd --reload
success
shell> firewall-cmd --list-ports
3888/tcp 2181/tcp 65001-65010/tcp

다시 불 러 오기 (방화벽 규칙 을 수정 한 후 reload 를 실행 해 야 합 니 다)
shell> firewall-cmd --reload    
success

CentOS 6
1. 상태 보기
방화벽 이 이미 열 렸 다.
shell> service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8888 
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:9200 
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:9000 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:7002 
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:15672 
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:15672 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8000 
8    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8082 
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8010 
10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8769 
11   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:6379 
12   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306 
13   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:5672 
14   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:15672 
15   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:2181 
16   ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
17   ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
18   ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
19   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
20   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 
21   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
22   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:7002 
23   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8001 
24   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           multiport dports 8888 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

방화벽 이 이미 닫 혔 다.
shell> service iptables status
iptables: Firewall is not running.

2. 시동 & 정지
방화벽 을 열다
shell> service iptables start
iptables: Applying firewall rules:                         [  OK  ]

방화벽 을 닫다
shell> service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

방화벽 재 부팅
shell> service iptables restart
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]

3. 자동 시동
부팅 허용
shell> chkconfig iptables on

부팅 금지
shell> chkconfig iptables off

종합 적 으로 CentOS 6 은 간단 하고 거 칠 게 방화벽 을 완전히 닫 으 려 면 다음 과 같이 실행한다.
shell> service iptables stop
shell> chkconfig iptables off

4. 지정 한 포트 열기
shell> vim /etc/sysconfig/iptables

다음 내용 추가 (열 려 있 는 포트 를 '2888' 이 라 고 가정)
-A INPUT -p tcp -m tcp --dport 2888 -j ACCEPT

방화벽 재 부팅
shell> service iptables restart
shell> service iptables status    
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
... 
16   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:2888 
...

좋은 웹페이지 즐겨찾기