>  기사  >  운영 및 유지보수  >  Linux의 소프트웨어 방화벽 iptables - 규칙 보기 및 지우기, 기본 정책 정의

Linux의 소프트웨어 방화벽 iptables - 규칙 보기 및 지우기, 기본 정책 정의

齐天大圣
齐天大圣원래의
2020-11-18 15:19:013692검색

방화벽은 사용자가 특정 IP 또는 사용자의 호스트에 대한 액세스를 제한하는 방법입니다. 방화벽은 하드웨어 방화벽과 소프트웨어 방화벽이라는 두 가지 범주로 나뉩니다. 소프트웨어 방화벽은 주로 데이터 패킷을 필터링하는 데 사용되는 반면, 하드웨어 방화벽은 주로 DDOS 공격과 같은 악의적인 공격으로부터 보호하고 데이터 패킷을 필터링하는 데 사용됩니다. 여기서는 Linux-iptables의 소프트웨어 방화벽에 대해 설명하겠습니다.

iptables 및 Firewalld

centOS6에서는 기본 소프트웨어 방화벽이 iptables이고, centos7에서는 Firewalld입니다. 실제로 방화벽은 원래 iptables에 새로 패키지된 소프트웨어입니다.

iptables를 배울 때 먼저 방화벽을 닫고 iptables를 활성화하는 것이 좋습니다

yum install iptables-services
systemctl stop firewalld
systemctl start iptables

iptables 테이블과 체인

iptables의 서로 다른 테이블은 기본적으로 4개의 테이블이 있습니다

  • filter( 필터. ) nat(주소 변환) mangle raw

다양한 테이블에는 자체 규칙 체인이 있습니다.

  • filter(INPUT/OUTPUT/FORWARD)

  • nat(프리라우팅/아웃풋/포스트아웃)

의미

  • INPUT 체인 - 들어오는 데이터 패킷은 이 규칙 체인의 규칙을 적용합니다.

  • OUTPUT 체인 - 나가는 데이터 패킷은 이 규칙 체인의 규칙을 적용합니다.

  • FORWARD 체인 - 적용 데이터 패킷을 전달할 때 이 체인의 규칙

  • PREROUTING 체인 - 데이터 패킷을 라우팅하기 전에 이 체인의 규칙을 적용

  • POSTROUTING 체인 - 데이터 패킷에 대한 라우팅을 수행 이 체인의 규칙은 라우팅 후에 적용됩니다

iptables 규칙 보기 및 삭제

규칙 보기

사용 예: iptables [-t tables] -L [-nv]

옵션 및 매개변수:

  • -t 팔로우함 이 옵션을 생략하면 기본값은 필터 테이블입니다.

  • -L 현재 테이블의 규칙 나열

  • -n 도메인 이름 및 IP 역방향 확인을 수행하지 않음

  • -v 추가 정보 표시

# 查看filter表的规则
# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   67  4444 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
    2   286 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 38 packets, 4664 bytes)
 pkts bytes target     prot opt in     out     source               destination  
 
# 查看nat表的规则
iptables -t nat -L -nv

아래 규칙 옵션의 의미 체인은 다음과 같습니다.

  • target: 수행된 작업, ACCEPT 릴리스, 삭제 삭제, 거부 거부를 나타냅니다.

  • prot: tcp, udp 및 icmp

  • opt를 포함하여 사용된 데이터 패킷 프로토콜을 나타냅니다. information

  • source : 특정 소스 호스트를 제한합니다

  • destination: 특정 대상 호스트를 제한합니다

위에 표시된 INPUT 체인의 5가지 규칙은 다음과 같은 의미를 갖습니다.

  1. 상태 데이터 패킷 중 RELATED, ESTABLISHED, 둘 다 Accept

  2. ICMP 패킷이면 허용됩니다

  3. 로컬 루프백 네트워크 카드이면 모든 데이터가 허용됩니다

  4. 포트 22로 전송된 활성 연결 TCP 패킷이면 허용됩니다.

  5. 모든 패킷 거부

Clear the rule of iptables

centOS7이 기본적으로 설치된 후 시스템에는 이미 많은 iptables 규칙이 있습니다. 여기서는 이러한 규칙을 지우는 방법을 알려드리겠습니다.

사용 예: iptables [-t tables] [-FXZ]

옵션 및 매개변수:

  • -F 모든 사용자 정의 규칙 정리

  • -X 모든 사용자 정의 규칙 정리

  • - Z 모든 통계 개수를 0으로 설정

# iptables -F
# iptables -X
# iptables -Z

특정 규칙 보기

iptables-save를 사용하여 특정 규칙 보기

사용법: iptables-save [-t tables]

# iptables-save -t filter
# Generated by iptables-save v1.4.21 on Sat Nov 14 21:51:56 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [56:7196]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
 
# Completed on Sat Nov 14 21:51:56 2020

기본 전략 정의

룰을 클리어하고 나면 기본 전략만 남습니다. 기본 정책은 규칙 중 하나라도 충족되지 않으면 기본 규칙이 사용된다는 것입니다. 기본 정책은 ACCEPT(패킷 허용) 및 DROP(패킷 삭제)

사용법: iptables [-t tables] -P [INPUT|OUTPUT|FORWARD…] [ACCEPT|DROP]

이제 기본 수정을 시도합니다. 필터의 INPUT 체인이 DROP, OUTPUT 및 FORWARD 체인이 ACCETP

iptables -t filter -P INPUT DROP
# 注意,该命令敲完后,你的终端就可能会断开连接了
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

로 수정되었습니다. 관련 권장 사항: "linux 강좌"

위 내용은 Linux의 소프트웨어 방화벽 iptables - 규칙 보기 및 지우기, 기본 정책 정의의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.