志在指尖
用双手敲打未来

linux防火墙设置配置详解(linux服务器防火墙配置文件)

linux防火墙设置配置详解

linux体系服务器假如作为网关服务器或网络服务器来运用时,装备规划防火墙能够很好的为服务器提供安全保障,Linux体系的RHEL7系列之前默许是经过iptables办理防火墙,现在的新版本都是默许经过firewalld办理防火墙,办理防火墙的工具有很多种,选其间一款即可
一、iptables
1、战略表
(1)filter表
filter表用来对数据包进行过滤,依据详细的规矩要求决议怎么处理一个数据包,filter表对应的内核模块为iptable_filter,表内包括三个链,即INPUT、FORWARD、OUTPUT,在运用iptables装备防火墙时假如不指定表便是默许的filter表
(2)nat表
nat(NetworkAddressTranslation,网络地址转化)表首要用来修正数据包的IP地址、端口号等信息,nat表对应的内核模块为iptable_nat,表内包括三个链,即PREROUTING、POSTROUTING、OUTPUT
(3)mangle表
mangle表用来修正数据包的TOS(TypeOfService,服务类型)、TTL(TimeToLive,生计周期),或许为数据包设置Mark符号,以实现流量整形、战略路由等高级运用,mangle表对应的内核模块为iptable_mangle,表内包括五个链,即PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
(4)raw表
raw表是自1.2.9今后版本的iptables新增的表,首要用来决议是否对数据包进行状态跟踪,raw表对应的内核模块为iptable_raw,表内包括两个链,即OUTPUT、PREROUTINGlinux
2、规矩链
(1)INPUT链
当收到拜访防火墙本机地址的数据包(入站)时,运用此链中的规矩,OUTPUT链:当防火墙本机向外发送数据包(出站)时,运用此链中的规矩
(2)FORWARD链
当接收到需求经过防火墙中转发送给其他地址的数据包(转发)时,运用此链中的规矩
(3)PREROUTING链
在对数据包做路由挑选之前,运用此链中的规矩
(4)POSTROUTING链
在对数据包做路由挑选之后,运用此链中的规矩
其间,INPUT、OUTPUT链首要用在“主机型防火墙”中,即首要针对服务器本机进行保护的防火墙;而FORWARD、PREROUTING、POSTROUTING链多用在“网络型防火墙”中,如运用Linux防火墙作为网关服务器,在公司内网与Internet之间进行安全操控
3、数据流向
当数据包抵达防火墙时,将顺次运用raw表、mangle表、nat表和filter表中对应链内的规矩(假如存在),运用顺序为raw-mangle-nat-filter
(1)入站数据流向
来自外界的数据包抵达防火墙后,首要被PREROUTING链处理(是否修正数据包地址等),然后进行路由挑选(判别该数据包应发往何处);假如数据包的方针地址是防火墙本机(如Internet用户拜访网关的Web服务端口),那么内核将其传递给INPUT链进行处理(决议是否答应经过等),经过今后再交给体系上层的运用程序(如httpd服务器)进行呼应
(2)转发数据流向
来自外界的数据包抵达防火墙后,首要被PREROUTING链处理,然后再进行路由挑选;假如数据包的方针地址是其他外部地址(如局域网用户经过网关拜访QQ服务器),则内核将其传递给FORWARD链进行处理(答应转发或阻拦、丢弃),最终交给POSTROUTING链(是否修正数据包的地址等)进行处理
(3)出站数据流向
防火墙本机向外部地址发送的数据包(如在防火墙主机中测试公网DNS服务时),首要进行路由挑选,确认了输出途径后,再经由OUTPUT链处理,最终再交给POSTROUTING链(是否修正数据包的地址等)进行处理
二、装备
1、安装
yum-yinstalliptables安装
systemctlstartiptables运行
systemctlenableiptables设置开机自启
2、指令参数
iptables[-t表名]办理选项[链名][匹配条件][-j操控类型]
-A在规矩链的结尾参加新规矩
-I数字在规矩链的头部参加新规矩
-D数字删去某一条规矩
-L检查规矩链
-F清空规矩链
-P设置默许战略
-s匹配源地址
-d匹配方针地址
-i网卡名称匹配从这块网卡流入的数据
-o网卡名称匹配从这块网卡流出的数据
-p匹配协议,如TCP、UDP、ICMP
–dport数字匹配方针端口号
–sport数字匹配来源端口号
-t指定表,默许的表为filter
3、操控类型
ACCEPT规矩验证经过,不再检查当时链的后续规矩,直接跳到下一个规矩链
DROP直接丢弃数据包,不给任何回应
REJECT回绝数据包经过,会返回呼应信息
SNAT源地址转化
DNAT方针地址转化
4、常用装备
iptables-L–line-number检查带有数字编号的防火墙规矩
把INPUT规矩链的默许战略设置为回绝(INPUT规矩没有答应的都将被回绝衔接,假如是经过ssh衔接装备的话要先将ssh参加到INPUT规矩里并设置ssh衔接为ACCEPT)
iptables-PINPUTDROP
答应多个方针端口经过tcp衔接拜访本机服务器
iptables-AINPUT-ptcp-mmultiport–dport20,21,22-jACCEPT
iptables-AINPUT-ptcp–dport20:22-jACCEPT
设置为只答应指定网段的主机拜访本机的22端口
iptables-AINPUT-ptcp-s192.168.10.0/24–dport22-jACCEPT
设置为答应范围ip的主机拜访本机的22端口(–src-range为源ip范围,–dst-range为方针ip范围)
iptables-AINPUT-ptcp-miprange–src-range192.168.10.1-192.168.10.10–dport22-jACCEPT
iptables-AINPUT-ptcp-miprange–dst-range192.168.10.1-192.168.10.10–dport22-jACCEPT
答应某个mac地址拜访22端口
iptables-AINPUT-ptcp-mmacmac-sourcemac地址–dport22-jACCEPT
避免syn进犯(限制单个ip的最大syn衔接数)
iptables–AINPUT–ptcp–syn-mconnlimit–connlimit-above15-jDROP
避免ping进犯
iptables-AINPUT-picmp–icmp-typeecho-request-mlimit–limit1/m-jACCEPT
只答应自己ping他人,不答应他人ping自己
iptables-AOUTPUT-picmp–icmp-type8-jACCEPT
iptables-AINPUT-picmp–icmp-type0-jACCEPT
以上装备INPUT规矩链的默许战略为回绝linux1
5、nat转化
启用IP路由转发功用
vi/etc/sysctl.conf然后在文件内容里增加增加net.ipv4.ip_forward=1
最终运用sysctl-p指令启用路由转发功用
内网用户经过一个外网口上网,内网的地址转化为一个外网的IP以此来拜访外网
iptables-tnat-APOSTROUTING-s192.168.10.0/24-jSNAT–to-source20.20.20.20
外网地址不固定,可将外网地址转化方式换成MASQUERADE(动态伪装),它能够实现自动读取外网网卡的IP地址
iptables-tnat-APOSTROUTING-s192.168.10.0/24-jMASQUERADE
设置答应某外网ip拜访内网ip对应端口
iptables-tnat-APREROUTING-d20.20.20.200-ptcp–dport80-jDNAT–to-destination192.168.10.200
结语
假如让防火墙战略永久有用,可运用iptables-save指令或serviceiptablessave指令,运用iptables防火墙需求运用systemctlstopfirewalld和systemctldisablefirewalld指令封闭firewalld防火墙,也可封闭中心防护,vi/etc/selinux/config然后修正为SELINUX=disabled,再运用指令setenforce0封闭

linux服务器防火墙配置文件

linux防火墙状况及开关指令
centos7以前的版别默许运用iptables服务进行办理防火墙规矩
centos7以及其以上版别默许运用firewalld服务办理防火墙
yuminstallfirewalldfirewall-config
1)iptables工具
iptables-L-n
一、service方法
检查防火墙状况:
serviceiptablesstatus
停止防火墙:
serviceiptablesstop
发动防火墙:
serviceiptablesstart
重启防火墙:
serviceiptablesrestart
永久封闭防火墙:
chkconfigiptablesoff
永久封闭后启用:
chkconfigiptableson
修改防火墙规矩:
修改/etc/sysconfig/iptables
二、iptables方法
1,先进入init.d目录,指令如下:
[root@centos6~]#cd/etc/init.d/
[root@centos6init.d]#
2,检查防火墙状况:
[root@centos6init.d]#/etc/init.d/iptablesstatus
3,暂时封闭防火墙:
[root@centos6init.d]#/etc/init.d/iptablesstop
4,重启iptables:
[root@centos6init.d]#/etc/init.d/iptablesrestart
防火墙相关
指令:iptables{start|stop|reload|restart|condrestart|status|panic|save}
检查状况:/etc/init.d/iptablesstatus
封闭:/etc/init.d/iptablesstop
2)firewall工具
1.检查防火墙状况
firewall-cmd–state##结果显现为running或notrunning
2.封闭防火墙firewall
systemctlstopfirewalld.servicesystemctldisablefirewalld.service
3.封闭防火墙firewall后敞开
systemctlstartfirewalld.service
systemctlenablefirewalld.servicesystemctlstatusfirewalld.service##检查防火墙状况systemctl[start|stop|restart]firewalld.service##发动|封闭|从头发动防火墙
4.敞开端口
##zone–作用域##add-port=80/tcp–添加端口,格式为:端口/通讯协议##permanent–永久收效,没有此参数重启后失效firewall-cmd–zone=public–add-port=3306/tcp–permanent##敞开3306端口后,workbench或naivcat就能连接到MySQL数据库了
5.重启防火墙
firewall-cmd–reload
6.常用指令介绍
firewall-cmd–state##检查防火墙状况,是否是runningfirewall-cmd–reload##从头载入配置,比如添加规矩之后,需要履行此指令
firewall-cmd–list-ports#检查一切翻开的端口
firewall-cmd–list-all
firewall-cmd–list-services#检查一切答应的服务
firewall-cmd–get-services#获取一切支撑的服务,在列表中的服务是放行的
firewall-cmd–query-serviceftp##检查ftp服务是否支撑,回来yes或许nofirewall-cmd–add-service=ftp##临时敞开ftp服务firewall-cmd–add-service=ftp–permanent##永久敞开ftp服务
firewall-cmd–remove-service=ftp–permanent##永久移除ftp服务
#区域相关
firewall-cmd–list-all-zones#检查一切区域信息firewall-cmd–get-zones##列出支撑的zone
firewall-cmd–get-active-zones#检查活动区域信息
firewall-cmd–set-default-zone=public#设置public为默许区域
firewall-cmd–get-default-zone#检查默许区域信息
#接口相关firewall-cmd–zone=public–add-interface=eth0#将接口eth0加入区域public
firewall-cmd–zone=public–remove-interface=eth0#从区域public中删去接口eth0
firewall-cmd–zone=default–change-interface=eth0#修改接口eth0所属区域为default
firewall-cmd–get-zone-of-interface=eth0#检查接口eth0所属区域
#端口操控
firewall-cmd–query-port=8080/tcp#查询端口是否敞开
firewall-cmd–add-port=8080/tcp–permanent#永久添加8080端口破例(全局)
firewall-cmd–remove-port=8800/tcp–permanent#永久删去8080端口破例(全局)
firewall-cmd–add-port=65001-65010/tcp–permanent#永久添加65001-65010破例(全局)
firewall-cmd–zone=public–add-port=8080/tcp–permanent#永久添加8080端口破例(区域public)
firewall-cmd–zone=public–remove-port=8080/tcp–permanent#永久删去8080端口破例(区域public)
firewall-cmd–zone=public–add-port=65001-65010/tcp–permanent#永久添加65001-65010破例(区域public)
更多指令,运用firewall-cmd–help检查帮助文件

未经允许不得转载:IT技术网站 » linux防火墙设置配置详解(linux服务器防火墙配置文件)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载