관리-도구
편집 파일: nftables.cpython-39.pyc
a ���gɆ � % @ s� d dl Z d dlZd dlZd dlmZ d dlmZmZmZm Z m Z d dlmZm Z mZmZmZmZmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZ d dlm Z dZ!e!d d Z"e!d d Z#dZ$d Z%i ddde% fidde% fdde% fdde% fd�dd e% fdd e% fdd e% fdd e% fd�d�Z&dEdd�Z'e'ddd�e'dd�e'dd�e'dd �e'ddd!�e'ddd"�e'ddd �e'dd#d$�e'ddd%�e'ddd$�e'dd&d$�e'ddd'�e'dd#d �e'ddd(�e'ddd �e'dd&�e'ddd)�e'ddd*�e'ddd+�e'dd#�e'dd&d$�e'dd,�e'dd-�e'dd.�e'ddd/�e'dd0�e'dd1�e'dd2�e'dd#d)�e'ddd3�e'dd#d+�e'ddd4�e'dd0d$�e'dd0d �d5�"e'd6dd)�e'd6d&d �e'd6dd+�e'd6dd$�e'd6d�e'd6d�e'd6d �e'd6dd/�e'd6d7�e'd6d8�e'd6d9�e'd6d:�e'd6d;�e'd6d<�e'd6dd �e'd6d=�e'd6d&�e'd6dd!�e'd6d>�e'd6dd(�e'd6d?�e'd6d@�e'd6d0�e'd6d0d$�e'd6d0d �e'd6d&d$�e'd6d&d+�dA�dB�Z(G dCdD� dDe)�Z*dS )F� N)�log)� check_mac�getPortRange�normalizeIP6�check_single_address� check_address)� FirewallError� UNKNOWN_ERROR�INVALID_RULE�INVALID_ICMPTYPE�INVALID_TYPE� INVALID_ENTRY�INVALID_PORT) �Rich_Accept�Rich_Reject� Rich_Drop� Rich_Mark�Rich_Masquerade�Rich_ForwardPort�Rich_IcmpBlock�Rich_Tcp_Mss_Clamp� Rich_NFLog)�DEFAULT_ZONE_TARGET)�NftablesZ firewalld�_Zpolicy_dropZprobeZpolicy_� � PREROUTING� preroutingij���i����Zpostrouting�d �output)r �POSTROUTING�OUTPUT�inputZforward)r �INPUT�FORWARDr! )�raw�mangle�nat�filterc C sH dd| dd�id|d�ig}|d urD|� dd| dd�id|d�i� |S )N�match�payload�type��protocol�field�==��left�op�right�code)�append)r- r+ r4 � fragments� r7 �:/usr/lib/python3.9/site-packages/firewall/core/nftables.py�_icmp_types_fragmentsT s � � r9 �icmp�destination-unreachable� � echo-reply�echo-request� � �redirect� � �parameter-problem� � � � � �router-advertisement�router-solicitation� source-quench� � time-exceeded�timestamp-reply�timestamp-request� � )"�communication-prohibitedr; r= r>