centos7下iptables安装和使用小结

原创 2018年04月16日 16:35:11

安装

关闭firewall

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

安装iptables

yum install iptables-services
systemctl start iptables.service
systemctl enable iptables.service #设置开机启动

关闭SELinux

vi /etc/selinux/config

#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加

setenforce 0 #使配置立即生效

iptables配置文件位置:/etc/sysconfig/iptables

使用

墙裂推荐这个系列博客,说得很详细:http://www.zsythink.net/archives/tag/iptables/

iptables -t [table] 指定表,不指定默认filter

以下参数后面跟链的名字 比如INPUT

-D [delete] 删除
-I [insert] 添加规则到首部
-A [append] 添加规则到尾部
-L [list] 列出已有规则
-F [flush] 删除所有规则
-P 设置默认规则

数据展示 用于-L命令,使用时可以直接-nvl

-v [verbose] 展示详细信息
--line 显示行号
-n 不要把IP0.0.0.0/0显示成anywhere

配置规则

-s 来源IP,可以是单个IP,也可以是多个IP用逗号隔开,也可以是地址段
-d 目标IP
-p 协议 tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp, mh
-i 流入网卡
-o 流出网卡
-j 操作 ACCEPT DROP REJECT或是自定义链

扩展模块

-m tcp --dport 8080 指定端口,如果指定了-p的话可以省略-m。端口段 8088:8090
-m multiport --dport 8080 可以用逗号隔开多个端口 80,8081:8010
-m iprange --src-range 192.168.0.1-192.168.0.10 IP段
-m string --algo bm --string "OOXX" 匹配字符串
-m connlimit --connlimit-above 2 连接数限制
-m time --timestart 09:00:00 --timestop 16:00:00 --weekdays 6,7 ! --monthdays 29,30,31 ! --datestart 2018-04-01 --datestop 2018-06-01 根据时间限制访问
-m state --state ESTABLISHED,RELATED NEW表示接受主动请求,ESTABLISHED,RELATED表示能够收到响应但是不允许主动发起链接

小技巧:我们如果想要使用”白名单”的机制,最好将链的默认策略保持为”ACCEPT”,然后将”拒绝所有请求”这条规则放在链的尾部,将”放行规则”放在前面,这样做,既能实现”白名单”机制,又能保证在规则被清空时,管理员还有机会连接到主机

自定义链

-N MYCHAIN 创建自定义链
-E MYCHAIN HUGEOCHAIM 改名字
iptables -I input -p tcp --dport 80 -j HUGEOCHAIM 绑定使用
-X HUGEOCHAIN 删除链,必须没有绑定

nat表:网络地址转换

-j SNAT|DNAT
iptables -t nat -I POSTROUTING -s 10.1.0.0/16 -j SNAT –to-source 192.168.1.141
SNAT用于内网机器共享公网IP,可以起到隐藏内网IP的作用。比如上面的命令意思是所有10.1.0.0/16发的请求全部将IP改为192.168.1.141再发出去

iptables -t nat -I PREROUTING -d 192.168.1.1 –dport 3306 -j DNAT –to-destination 10.1.0.1:3306
DNAT用于转发外部请求到内网

本机端口映射

-j REDIRECT --to-ports 8080

通过iptables命令增加修改删除的规则都是暂时的,重启iptables就会失效
永久保存:iptables-save > /etc/sysconfig/iptables
放弃所有修改:iptables-restore < /etc/sysconfig/iptables

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010588262/article/details/79962550

centos7 iptables的安装和配置

由于centos7默认是使用firewall作为防火墙,下面介绍如何将系统的防火墙设置为iptables。步骤流程:①关闭firewall #停止firewall systemctl stop...
  • fjtnylk
  • fjtnylk
  • 2015-08-02 21:50:41
  • 19019

CentOS之——CentOS7安装iptables防火墙

CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st...
  • l1028386804
  • l1028386804
  • 2016-03-02 14:43:39
  • 31690

centos7 关闭firewall安装iptables并配置,关闭SELINUX

一、配置防火墙,开启80端口、3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭firewall: systemctl stop...
  • github_36837306
  • github_36837306
  • 2017-01-16 09:04:51
  • 1116

centos7 安装iptables防火墙

一、配置防火墙,开启80端口、3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭firewall: systemctl stop fi...
  • czmchen
  • czmchen
  • 2015-06-06 16:57:52
  • 5631

centos7中iptables启动失败

出现这种情况,输入service iptables save命令,iptables启动正常
  • y1030111859
  • y1030111859
  • 2016-08-16 16:11:53
  • 2690

CentOS7的firewall和安装iptables

前言:CentOS7 的防火墙默认使用是firewall,而我们通常使用iptables; 本文记录了firewall基础的命令和iptables的安装和使用。   firewall部分: par...
  • MikeLC7
  • MikeLC7
  • 2017-06-21 15:18:15
  • 2399

CentOS7中使用iptables

1、关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #...
  • u012486840
  • u012486840
  • 2016-11-14 17:39:19
  • 14880

关闭CentOS7的firewalld并启用iptables操作

CentOS7发布也挺长时间了,但是因为与旧版本差异过大,一直使用 的CentOS6,为了安全性以及技术的更新,总是要换成CentOS7的 在CentOS7中,防火墙iptables被firew...
  • lqy461929569
  • lqy461929569
  • 2017-07-05 09:01:32
  • 1562

centos7离线安装iptables

介绍 Netfilter是Linux系统的防火墙框架。它是作为Linux发行版的一部分,它在默认情况下启用。该防火墙由iptables下发规则。netfilter的过滤发生在内核级别,甚至可以在程序...
  • qq_21072793
  • qq_21072793
  • 2017-11-28 20:31:54
  • 502

CentOS7 默认防火墙firewalld替换为iptables

CentOS7 默认防火墙firewalld替换为iptables
  • hegeng84
  • hegeng84
  • 2016-07-14 20:55:39
  • 1603
收藏助手
不良信息举报
您举报文章:centos7下iptables安装和使用小结
举报原因:
原因补充:

(最多只允许输入30个字)