删除iptables的NAT规则 iptables清除nat表

您所在的位置:网站首页 删除iptables表 删除iptables的NAT规则 iptables清除nat表

删除iptables的NAT规则 iptables清除nat表

2024-03-11 15:05| 来源: 网络整理| 查看: 265

iptables 的常见用法

初学iptables,自己归纳的笔记,可能有错,不喜勿喷

四表五链

四表: filter : 过滤表 nat : 地址转换表 mangle: 拆解,修改,封装报文表 raw : 关闭nat表的连接追踪机制 *优先级 raw > mangle > nat > filter

五链:

删除iptables的NAT规则 iptables清除nat表_防火墙

iptables 命令

查看 iptables 的规则:

iptables [-t filter] -vL --line-numbers //-t filter 指定表,缺省为filter表。 //--line-number 显示序号,方便插入或删除。

删除iptables的NAT规则 iptables清除nat表_iptables_02

添加规则:iptables -A INPUT 【匹配规则】 【执行目标】 插入规则:iptables -I INPUT 5 【匹配规则】 【执行目标】 修改规则:iptables -R INPUT 5 【匹配规则】 【执行目标】 删除规则:iptables -D INPUT 5

【匹配规则】 查看帮助文档 centos6----------------man iptables centos7----------------man iptables-extensions

-s 192.168.1.0/24 ----------------- 源地址 -d 172.16.1.1 ---------------------- 目的地址 -i in-face -----------------------------流入接口 -o out-face ------------------------- 流出接口

-p tcp/udp/icmp 连接协议 -p tcp --sport 80 --dport 80 -p tcp --tcp-flags STN,ACK,FIN,RST SYN-------------------------------tcp报文SYN标记为1,其余为0的报文(即tcp链接的第一次握手) -p tcp --syn---------------------------------同上 -p icmp --icmp-type 8 ------------------ ping报文 -p icmp --icmp-type 0 ----------------- 回应ping报文

多端口匹配

-m multiport --dport 21:22,80

iptables -I INPUT -s 172.16.0.0/16 -d 192.168.1.1 -p tcp -m multiport -dport 21,22,80 -j ACCEPT

多地址匹配

-m iprange --src-range 192.168.1.1-192.168.1.100 --dst-range 102.168.2.1-192.168.2.100

iptables -I INPUT -d localhost -p tcp --dport 80 -m iprange --src-range 192.168.1.1-192.168.1.100 -j DROP

字符串匹配

-m string --algo bm/kmp --string ‘abc’ [ --from 10 --to 80 ] --------------------- --algo bm/kmp 为检测算法

iptables -I OUTPUT -m string --algo bm --string 'abcdefg' -j DROP

时间匹配

-m time --weekdays Mo,Tu,We -m time --datestart 2019-09-11 --datestop 2019-9-30 -m time --datestart 2019-09-11T8:00 --datestop 2019-9-11T18:00 -m time --timestart 10:00 --timestop 18:00 -m time --weekdays Sa,Su --monthdays 1,2,3,4,5,6,7

iptables -I INPUT -d localhost -p tcp --dport 80 -m time --weekdays Mo,Tu,We,Th,Fr --timestart 8:00 --timestop 18:00 -j ACCEPT

并发连接限制

-m connlimit --connlimit-above 6 --connlimit-upto 10

iptables -I INPUT -d localhost -p tcp --dport 22 -m connlimit --connlimit-above 7 -j DROP

报文速率限制

-m limit --limit-burst 5 --limit 30/minute

iptables -I INPUT -d localhost -p icmp --icmp-type 8 -m limit --limit-burst 5 --limit 30/minute -j ACCEPT

状态检测

-m state --state NEW,ESTABLISHED,RELATED,INVALIED *NEW ------------------------------ 新建立的连接,仅第一次建立时的报文状态 *ESTABLISHED -----------------已连接状态 (包括响应报文) *RELATED-------------------------相关连接(如ftp的命令连接和数据连接) *INVALIED-------------------------无法识别的连接

*追踪功能所能记录的最大数: /proc/sys/net/nf-conntrack-max *已记录的连接: /proc/net/nf-conntrack *不同协议的连接追踪时长: /proc/sys/net/netfilter/

iptables -I INPUT -d localhost -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -I INPUT -d localhost -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -I OUTPUT -s localhost -p tcp -m state --state ESTABLISHED -j ACCEPT

【执行目标】

-j ACCEPT-----------------------------接受访问 -j DROP--------------------------------丢弃 -j REJECT-----------------------------拒绝访问 -j chain-name ----------------------- 转向自定义链 -j RETURN ---------------------------返回调用链 -j REDIRECT--------------------------端口重定向 -j LOG-----------------------------------记录日志 -j MARK -------------------------------做防火墙标记 -j DNAT ---------------------------------目标地址转换 -j SNAT----------------------------------源地址转换 -j MASQUERADE--------------------地址伪装(适用于出口地址变换的场景)

iptables的规则保存--------------------iptables-save > /tmp/iptables iptables的重载--------------------------iptables-restore < /tmp/iptables

实例

例一:拒绝172.16.0.0/16网段主机访问本地的web服务

iptables -A INPUT -s 172.16.0.0/24 -d localhost -p tcp --dport 80 -j DROP

删除iptables的NAT规则 iptables清除nat表_删除iptables的NAT规则_03

例二:开放本机的ssh,http,ftp服务端口 用到多端口匹配机制

iptables -A INPUT -d localhost -p tcp -m multiport --dport 21,22,80 -j ACCEPT

删除iptables的NAT规则 iptables清除nat表_防火墙_04

例三:拒绝其他主机ping本地主机,但允许本地ping外部网络

iptables -A INPUT -d localhost -p icmp --icmp-type 8 -j DROP iptables -A OUTPUT -s localhost -p icmp --icmp-type 0 -j DROP iptables -A OUTPUT -s localhost -p icmp --icmp-type 8 -j ACCEPT iptables -A INPUT -d localhost -p icmp --icmp-type 0 -j ACCEPT

删除iptables的NAT规则 iptables清除nat表_防火墙_05

例四:开放被动模式的ftp服务

①装载ftp追踪时的专用模块nf_conntract_ftp 方法一:手动装载

modprobe nf_conntrack_ftp

方法二:自动装载

vim /etc/sysconfig/iptables-config IPTABLES_MODULES="nf_conntrack_ftp"

②放行请求报文(命令连接&数据连接)和响应报文

iptables -I INPUT -d localhost -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -I INPUT -d localhost -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -I OUTPUT -s localhost -m state --state ESTABLISHED -j ACCEPT

删除iptables的NAT规则 iptables清除nat表_防火墙_06

网络防火墙

删除iptables的NAT规则 iptables清除nat表_iptables_07

首先需要开启转发功能:

方法一:临时开启

sysctl -w net.ipv4.ip_forward=1

方法二:永久开启

echo "net.ipv4.ip_forward=1" >> vim /etc/sysct.conf sysctl -p

首先拒绝所有外来访问,然后允许对应访问通过

iptables -P FORWARD DROP iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -d 172.16.0.0/16 -s 1.1.1.0/24 -p tcp --dport 22 -m state --state NEW -j ACCEPT

删除iptables的NAT规则 iptables清除nat表_源地址_08

NAT的地址转换

①源地址转换SNAT

iptables -t nat -A POSTROUTING -s 172.16.0.0/16 ! -d 172.16.0.0/16 -j SNAT --to-source 2.2.2.2

删除iptables的NAT规则 iptables清除nat表_iptables_09

②目的地址转换DNAT

iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2

删除iptables的NAT规则 iptables清除nat表_源地址_10

③PAT端口映射

iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8080

删除iptables的NAT规则 iptables清除nat表_iptables_11



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3