删除iptables的NAT规则 iptables清除nat表 |
您所在的位置:网站首页 › 删除iptables表 › 删除iptables的NAT规则 iptables清除nat表 |
iptables 的常见用法 初学iptables,自己归纳的笔记,可能有错,不喜勿喷 四表五链四表: filter : 过滤表 nat : 地址转换表 mangle: 拆解,修改,封装报文表 raw : 关闭nat表的连接追踪机制 *优先级 raw > mangle > nat > filter 五链: iptables 命令查看 iptables 的规则: iptables [-t filter] -vL --line-numbers //-t filter 指定表,缺省为filter表。 //--line-number 显示序号,方便插入或删除。添加规则: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例二:开放本机的ssh,http,ftp服务端口 用到多端口匹配机制 iptables -A INPUT -d localhost -p tcp -m multiport --dport 21,22,80 -j ACCEPT例三:拒绝其他主机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例四:开放被动模式的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网络防火墙首先需要开启转发功能: 方法一:临时开启 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 ACCEPTNAT的地址转换 ①源地址转换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②目的地址转换DNAT iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2③PAT端口映射 iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8080
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |