关于CentOSiptables和centosiptables配置文件的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于CentOS6iptables配置、CentOS6.x配置iptabl
关于CentOS iptables和centos iptables配置文件的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于CentOS 6 iptables 配置、CentOS 6.x 配置iptables、Centos 7 firewall iptables-centos7、Centos 7 iptables 开放端口等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- CentOS iptables(centos iptables配置文件)
- CentOS 6 iptables 配置
- CentOS 6.x 配置iptables
- Centos 7 firewall iptables-centos7
- Centos 7 iptables 开放端口
CentOS iptables(centos iptables配置文件)
iptables 简介
netfilter/iptables 组成Linux平台下的包过滤防火墙。
rule 包
是否允许通过的规则
chinas 链
数据包传播的路径
tables 表
提供特定的功能,包含filter nat mangle raw4个表,分别用于实现包过滤,网络地址转换,包重构(修改)和数据跟踪处理。
iptables 在内核的5个规则设置位置
- 内核空间中:从一个网络接口进来,到另一个网络接口去的
- 数据包从内核流入用户空间的
- 数据包从用户空间流出的
- 进入/离开本机的外网接口
- 进入/离开本机的内网接口
五个规则链:
1. PREROUTING (路由前)
2. INPUT (数据包流入口)
3. FORWARD (转发管卡)
4. OUTPUT(数据包出口)
5. POSTROUTING(路由后)
防火墙策略:
1. 通,有身份认证才能进
2. 堵
filter:定义允许或不允许,用在INPUT FORWARD OUTPUT
nat 定义地址转换 用在PREROUTING OUTPUT POSTROUTING
mangle 修改报文原数据 用在5个规则链上
规则的写法
格式:
iptables [-t table] COMMAND chain rules -j ACTION
-t table :指定表名(filter/nat/mangle/raw)
COMMAND:命令,对链扫操作命令
chain:指定你接下来的规则到底是在哪个链上操作的,当定义策略的时候,是可以省略的
rules:规则
-j ACTION :指定如何进行处理
比如:不允许172.16.0.0/24的进行访问。 iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP 当然你如果想拒绝的更彻底: iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJECT iptables -L -n -v #查看定义规则的详细信息
COMMAND
链管理命令(立即生效)
-P 设置默认策略
iptables -P INPUT (DROP|ACCEPT) 默认是关的/开的
-L 查看iptables规则列表
-F flash , 清空规则链
iptables -t nat -F PREROUTING
iptables -t nat -F 清空nat表的所有链
-X 用于删除用户自定义的空链
使用方法跟-N相同,但是在删除之前必须要将里面的链给清空
-E 用来给用户自定义的链重命名
iptables -E oldname newname
-Z 清空链,及链中默认规则的计数器
iptables -Z
规则管理命令
-A 追加
-I num : 插入
-R num :Replays替换/修改第几条规则
-D num : 删除第几条规则
查看管理命令 “-L”
附加子命令:
-n 以数字方式显示ip,否则显示主机名 -v 显示详细信息 -vv 更详细 -vvv 更更详细 -x 在计数顺上显示精确值 --line-numbers 显示规则的行号 -t nat:显示所有的关卡的信息
匹配标准
通用匹配
-s 源ip
-d 目标ip
-p 协议,TCP/UDP/ICMP
-i eth0 从某网卡流入
-o eth0 从某网卡流出
扩展匹配
-p tcp 扩展:
--dport xx-xx 指定目标端口范围 --dport xx 指定目标端口 --sport 指定源端口 --tcp-flags tcp的标志位
-p udp 扩展:
--dport --sport
-p icmp 扩展:
--icmp-type 8 匹配表求回显数据包
显式扩展-m
-j ACTION
- DROP 丢弃
- REJECT 拒绝
- ACCEPT 接受
- DNAT
- SNAT
- MASQUERADE 源地址伪装
- REDIRECT 重定向
- MARK 打防火墙标记的
- RETURN 返回
状态检测
端口的4种关系:
NEW TCP新连接
ESTABLISHED 已建立的连接
RELATED 如TCP 20/21一来一去的端口
INVALID 无法识别的
地址转换
示例
iptables -P INPUT DROP 拒绝所有连接 iptables -I FORWARD -d www.xxx.com -j DROP 拒绝访问某网址 iptables -I FORWARD -s 192.168.1.X -j DROP 禁止某客户机上网 iptables -I FORWARD -s 192.168.1.0/24 -p tcp -dport 21 -j DROP 禁止某子网使用FTP
iptables -F iptables -X iptables -F -t mangle iptables -t mangle -X iptables -F -t nat iptables -t nat -X 把三个表清空 iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD ACCEPT 设定INPUT、OUTPUT的默认策略为DROP,FORWARD为ACCEPT。 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT 先把“回环”打开 iptables -A INPUT -i eth+ -p icmp --icmp-type 8 -j ACCEPT iptables -A OUTPUT -o eth+ -p icmp --icmp-type 0 -j ACCEPT 在所有网卡上打开ping功能,便于维护和检测。 iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 22 -j ACCEPT 打开22端口,允许远程管理。
CentOS 6 iptables 配置
iptables 默认配置文件的位置在哪里
/etc/sysconfig/iptables
vi /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Thu Nov 29 20:37:50 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [237475:35650933]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6945 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 55672 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7180 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 2181 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 2888 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 3888 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 1808 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 11211 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 22423 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 22422 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 22424 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 17341 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 7180 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 3050 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 3060 -j ACCEPT
-A INPUT -s 192.168.80.0/24 -p tcp -m state --state NEW -m tcp --dport 3070 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Nov 29 20:37:50 2012
~
修改完后,重启服务: service iptables restart;
CentOS 6.x 配置iptables
CentOS 6.x 配置iptables
来源 https://www.cnblogs.com/chillax1314/p/7976067.html
iptables -P INPUT DROP---设置INPUT链默认规则为丢弃所有流量
iptbales有四表五链,raw,mangle,nat,filter(默认)表;五链:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING
系统默认的iptables规则
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
系统默认的ip6tables规则
ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT
ip6tables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
ip6tables -A INPUT -j REJECT --reject-with icmp6-adm-prohibited
ip6tables -A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
vim iptables.sh 拷贝一下内容,具体按实际生产需求修改,此脚本默认丢弃INPUT流量,放行OUTPUT链流量,丢弃FORWARD流量;
#!/bin/bash
#清空iptables 规则
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
#允许本机访问本机
iptables -A INPUT -i lo -j ACCEPT
#添加黑名单方法
#iptables -I INPUT -s 192.168.0.1 -j DROP #屏蔽单个IP的命令
#iptables -I INPUT -s 192.168.1.0/24 -j DROP #封IP段即从192.168.1.0到192.168.1.254的命令
#允许172.16.20.0 192.168.2.0/24 ssh访问进来
iptables -A INPUT -s 172.16.20.0/24 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.2.0/24 -p tcp --dport 22 -j ACCEPT
#允许https通行
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#允许http访问服务器,已经存在的链接不断开
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
#允许已经建立的链接继续通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许ping
#iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#设置INPUT链默认丢弃
iptables -P INPUT DROP
#设置OUTPUT链默认允许
iptables -P OUTPUT ACCEPT
#设置默认丢弃FORWARD链
iptables -P FORWARD DROP
#防止各种攻击
iptables -A FORWARD -p icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 20 -j REJECT
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT
#允许本机访问192.168.7.2的ftp服务器
iptables -A INPUT -s 192.168.7.2 -p tcp -m multiport --dports 20,21 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 192.168.7.2 -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -s 192.168.7.2 -p tcp -m tcp --dport 30001:31000 -j ACCEPT
#保存iptables
service iptables save 或者用iptables-save > /etc/sysconfig/iptables
chkconfig iptables on ——添加开机启动
service iptables restart——重启iptables服务,其实不需要重启立即生效
注意:如果在生产上ssh端口不是默认的22,会导致执行了此脚本后无法连接服务器,为了防止此类事情发生,可以定期执行一个脚本取消iptables运行
crontab -e
/10 * /etc/init.d/iptables stop——每十分钟执行停止iptables服务
查看iptables记录信息
日志信息查看
more /proc/net/nf_conntrack
=============== End
Centos 7 firewall iptables-centos7
1、firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
调整默认策略(默认拒绝所有访问,改成允许所有访问):
firewall-cmd --permanent --zone=public --set-target=ACCEPT
firewall-cmd --reload
Centos 7 iptables 开放端口
MySQL 开放远程连接时,
已经打开了对应端口的安全组发现还是连接不上,
那么就需要 check 一下防火墙端口是否开放。
firewall-cmd --zone=public --query-port=3306/tcp
显示 FirewallD is not running
,发现并没有运行 FirewallD。
如果 返回的结果为 no
说明运行着 FirewallD,可以参考 Centos 7 修改 ssh 端口 文章操作端口部分。
再 check 一下 iptables 是否开放 3306 端口。
#列出所有端口状态
iptables -L -n
可以看出 3306 端口是 DROP 的状态;
修改 /etc/sysconfig/iptables
文件,将 3306 修改为 ACCEPT
vi /etc/sysconfig/iptables
wq 保存退出
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
再测试连接查看结果
文章到这儿就结束了。
关于CentOS iptables和centos iptables配置文件的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于CentOS 6 iptables 配置、CentOS 6.x 配置iptables、Centos 7 firewall iptables-centos7、Centos 7 iptables 开放端口的相关知识,请在本站寻找。
本文标签: