GVKun编程网logo

CentOS iptables(centos iptables配置文件)

20

关于CentOSiptables和centosiptables配置文件的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于CentOS6iptables配置、CentOS6.x配置iptabl

关于CentOS iptablescentos iptables配置文件的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于CentOS 6 iptables 配置、CentOS 6.x 配置iptables、Centos 7 firewall iptables-centos7、Centos 7 iptables 开放端口等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

CentOS iptables(centos iptables配置文件)

CentOS iptables(centos iptables配置文件)

iptables 简介

netfilter/iptables 组成Linux平台下的包过滤防火墙。

rule 包

是否允许通过的规则

chinas 链

数据包传播的路径

tables 表

提供特定的功能,包含filter nat mangle raw4个表,分别用于实现包过滤,网络地址转换,包重构(修改)和数据跟踪处理。

iptables 在内核的5个规则设置位置

  1. 内核空间中:从一个网络接口进来,到另一个网络接口去的
  2. 数据包从内核流入用户空间的
  3. 数据包从用户空间流出的
  4. 进入/离开本机的外网接口
  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 配置

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

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

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 开放端口

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 iptablescentos iptables配置文件的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于CentOS 6 iptables 配置、CentOS 6.x 配置iptables、Centos 7 firewall iptables-centos7、Centos 7 iptables 开放端口的相关知识,请在本站寻找。

本文标签: