Linux Firewall ---iptables

Linux Firewall---iptables

iptables 命令格式:

iptables [-t TABLE] {-OPTION} [chain] [rulenum][rule-sepecification]

TABLE : raw、mangle、nat、filter

过滤规则应用于filter、NAT规则应用于nat、用于修改分组数据的特定规则应用于mangle、而独立于Netfilter连接跟踪子系统起作用的规则应用于raw。

OPTION:

  1. Object:chain

A(Append)、C(Check)、D(delete)、I(insert)、R(replace)、L(list)、S(list-rules)、F(flush)、Z(zero)、X(delete-chain)、P(policy)、E(rename-chain)

  1. OTHER OPTIONS

-v, --verbose -n, --numeric -x,--exact --line-numbers             –modprobe=command

Chain: PREROUTING INPUT OUTPUT FORWARD POSTROUTING

rule-specification = [matches...] [target]

match = [PARAMETERS]|-m matchname [per-match-options]

target = -j targetname [per-target-options]

PARAMETERS:

[!] -p, --protocol protocol 、[!] -s, --sourceaddress[/mask][,...]、[!] -d, --destination address[/mask][,...]、-j, --jumptarget 、-g, --goto chain、[!] -i, --in-interface name、[!] -o,--out-interface name、[!] -f, --fragment、-c, --set-counters packets bytes

MatchNmae:

Conntrackicmp iprange limit multiport state string tcp time udp

-ptcp:隐含了-m tcp;

[!]--source-port,--sport port[:port]:匹配报文中传输层的源端口;

[!]--destination-port,--dport port[:port]:匹配报文中传输层的目标端口;

[!]--tcp-flags mask comp

SYN,ACK,FIN,RST,URG,PSH;

mask:要检查的标志位列表,以逗号分隔;                                                                               comp:必须为1的标志位,余下的出现在mask列                            表中的标志位则必须为0;

--tcp-flags  SYN,ACK,FIN,RST  SYN

[!]--syn:

相当于--tcp-flags  SYN,ACK,FIN,RST  SYN

-pudp:隐含了-m udp:

[!]--source-port,--sport port[:port]:匹配报文中传输层的源端口;

[!] --destination-port,--dportport[:port]:匹配报文中传输层的目标端口;

-picmp:隐含了-m icmp:

[!] --icmp-type {type[/code]|typename}

8:echo-request

0:echo-reply

1、multiport扩展

以离散或连续的方式定义多端口匹配条件;

[!] --source-ports,--sports port[,port|,port:port]...:指定多个源端口;

[!]--destination-ports,--dports port[,port|,port:port]...:指定多个目标端口;

[!] --ports port[,port|,port:port]...:指定多个端口;

2、iprange扩展

以连续的ip地址范围指明连续的多地址匹配条件;

[!]--src-range from[-to]:源IP地址;

[!]--dst-range from[-to]:目标IP地址;

3、string扩展

对报文中的应用层数据做字符串匹配检测;

[!]--string pattern:要检测字符串模式;

[!]--hex-string pattern:要检测的字符串模式,16进制编码;

--algo{bm|kmp}

4、time扩展

根据报文到达的时间与指定的时间范围进行匹配度检测;

--datestartYYYY[-MM[-DD[Thh[:mm[:ss]]]]]:起始日期时间;

--datestopYYYY[-MM[-DD[Thh[:mm[:ss]]]]]:结束日期时间;

--timestarthh:mm[:ss]

--timestop  hh:mm[:ss]

[!]--monthdays day[,day...]

[!]--weekdays day[,day...]

~]#iptables -I INPUT -d 172.16.100.67 -p tcp --dport 23 -m time --timestart09:00:00 --timestop 18:00:00 --weekdays Tue,Thu,Sat -j ACCEPT

5、connlimit扩展

根据每客户端IP做并发连接数匹配;

--connlimit-upton:连接数数量小于等于n,此时应该允许;

--connlimit-aboven:连接数数量大于n,此时应该拒绝;

~]#iptables -A INPUT -d 172.16.100.67 -p tcp --dport 23 -m connlimit--connlimit-upto 2 -j ACCEPT

6、limit扩展

基于收发报文的速率进行匹配;

--limitrate[/second|/minute|/hour|/day]:平均速率

--limit-burstnumber:峰值速率

7、state扩展

状态检测;连接追踪机制(conntrack);

INVALID:无法识别的状态;

ESTABLISHED:已建立的连接;

NEW:新连接;

RELATED:相关联的连接;

UNTRACKED:未追踪的连接;

nf_conntrack内核模块;

追踪到的连接:/proc/net/nf_conntrack文件中;

能追踪的最大连接数量定义在:/proc/sys/net/nf_conntrack_max

此值可自行定义,建议必要时调整到足够大;

不同的协议的连接追踪的时长:

/proc/sys/net/netfilter/

[!]--state STATE

如何开放被模式的ftp服务:

(1)装载追踪ftp协议的模块;

#modprobe nf_conntrack_ftp

(2)放行命令连接

~]# iptables -A INPUT -d 172.16.100.67 -p tcp -m state --state ESTABLISHED -jACCEPT

~] #iptables -A INPUT -d 172.16.100.67 -p tcp --dport 21 -m state --state NEW -jACCEPT

(3)放行数据连接

~]iptables -A INPUT -d 172.16.100.67 -p tcp -m state --state RELATED -j ACCEPT

Targetname:

DNATLOG MASQUERADE NOTRACK REDIRECT REJECT SNAT

2.

时间: 2024-08-10 02:10:18

Linux Firewall ---iptables的相关文章

Linux服务--iptables之nat转发和构建简单的DMZ防火墙

iptables之nat转发和构建简单的DMZ防火墙 一.NAT iptables 中的nat表: nat:Network Address Translation:NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机. nat有三种实现方式:SNAT,DNAT和端口多路复用OverLoad 在了解Nat工作原理之前先了解一下私网IP和公网IP.私网IP地址是指局域网内部网络或主机的IP地址,公网地址是指在因特尔网上全球唯一的IP地址. 私有

linux中iptables详解

linux中iptables详解 一.通用基础知识 1.基本概念 什么是防火墙? 所谓防火墙指的是工作于主机或网络的边缘,对于进出的报文根据事先定义的规则作检查,将那些能够被规则所匹配到的报文作出相应处理的组件. 防火墙是由软件和硬件设备组合而成.在内部网和外部网之间.专用网与公共网之间的界面上构造的保护屏障,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入. 防火墙主要由服务访问规则.验证工具.包过滤和应用网关4个

Linux: 20 Iptables Examples For New SysAdmins

Linux comes with a host based firewall called Netfilter. According to the official project site: netfilter is a set of hooks inside the Linux kernel that allows kernel modules to register callback functions with the network stack. A registered callba

linux防火墙--iptables(二)

五.filter过滤和转发 a.打开内核的IP转发 # sysctl -w net.ipv4.ip_forward=1 或 # echo 1 > /proc/sys/net/ipv4/ip_forward b.基本匹配条件 ·通用匹配 → 可直接使用,不依赖于其他条件或扩展 → 包括网络协议.IP地址.网络接口等条件 ·隐含匹配 → 要求以特定的协议匹配作为前提 → 包括端口.TCP标记.ICMP类型等条件 类别 选项 用法 通用匹配 协议匹配 -p 协议名 地址匹配 -s 源地址      

Linux防火墙iptables简明教程

前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔除了许多冗余的内容,提取出尽量多的精华部分成文,和大家共同学习,本文涉及的内容包括如下 Linux防火墙iptables简明教程 1.安装iptables 2.查看现有的iptables规则 3.删除某iptables规则 4.清除现有iptables规则 5.创建规则 6.设置开机启动 7.保存i

Linux之iptables原理详解

本文和大家分享的主要是linux中iptables原理相关内容,一起来看看吧,希望对大家学习linux有所帮助. 目录: 一.netfilter与iptables 二.filter.nat.mangle等规则表 三.INPUT.FORWARD等规则链和规则 四.Linux数据包路由原理 五.iptables编写规则 一 .netfilter与iptables (1)Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许

CentOS下配置iptables防火墙 linux NAT(iptables)配置

CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/sysconfig/network   这里可以更改主机名称. NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=BGI-TJ.localdomain GATEWAY=192.168.11.1(超算网关) 2.vim /etc/sysconfig/network-scripts/

Linux之Iptables防火墙概述~

Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实现过滤和机制,属于典型的包过滤防火墙(或称之为网络层防火墙). Netfilter和Iptables区别: Netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于"内核态"(kernel space,又称为内核空间)的防火墙功能体系. Iptables:指的是Linux防护墙的命令工具,程序通常位于/sbin/iptables,属于"用户态"(User sp

LInux下iptables配置

linux下IPTABLES配置详解 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [[email protected] ~]# iptables -L -nChain INPUT (policy ACCEPT)target       prot opt source                 destination Chain FORWARD (policy ACCEPT)targ