xml地图|网站地图|网站标签 [设为首页] [加入收藏]

智能硬件

当前位置:美高梅游戏网站 > 智能硬件 > CentOS服务器iptables配置轻松教程

CentOS服务器iptables配置轻松教程

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-09-10 15:41

iptables简单教程

iptables是Linux类服务器重要的网络安全防范系统工具,考虑到多数服务器有专门的团队托管,服务器管理员多数时间只能通过SSH进行远程管理,在安全允许的情况下,保证SSH的合法联通,需要做如下的配置。

 

iptables -P INPUT ACCEPT
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -L -v

【概述】

  这样能够保证SSH的22端口得到合法的通行,最后执行service iptables save,将刚才的配置保存。

netfilter/iptables是linux系统自带的免费防火墙,能够实现防火墙、NAT(网络地址翻译)和数据包分割功能

  通过cat /etc/sysconfig/iptables可以查看iptables配置文件的信息,今后可以通过直接编辑该文件,增删配置条目。

netfilter工作在内核层,iptables工作在用户层,可以方便用户定义规则集的表结构。

  查看运行着的iptables的规则指令为:lsmod | grep ip_tables或iptables -L。

 

小编再补充一个知识点:防简单攻击iptables策略

【iptables选项介绍】

#!/bin/sh
IPTABLES=/sbin/iptables



# clear
$IPTABLES -F

# if pkg type is allow, then accept
#$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT



# 如果同时在80端口的连接数大于10,就Drop掉这个ip

netstat -an | grep :80 | awk -F: '{ print $8 }' | sort | uniq -c | awk -F  '$1>10 && $2!="" { print $2 }' >> /etc/fw.list
less /etc/fw.list | sort | uniq -c | awk -F  '$2!="" { print $2 }' > /etc/fw.list2
less /etc/fw.list2 > /etc/fw.list
while read line

    do
    t=`echo "$line"`
    $IPTABLES -A INPUT -p tcp -s $t -j DROP
done < /etc/fw.list2

# IP转发
$IPTABLES -A INPUT -p tcp --dport 20002 -j ACCEPT
$IPTABLES -A INPUT -d 172.16.204.7 -p tcp -m tcp --dport 20002 -i eth0 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -d 211.100.39.44 -p tcp -m tcp --dport 20002 -j DNAT --to-destination 172.16.204.7:20002
$IPTABLES -t nat -A POSTROUTING -d 172.16.204.7 -p tcp -m tcp --dport 20002 -j SNAT --to-source 10.6.39.44


# if pkg visit 80,7710 port then accept
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 873 -j ACCEPT
# $IPTABLES -A INPUT -i eth0 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --syn -m limit --limit 10/s -j ACCEPT
$IPTABLES -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT


# if pkg from allow ip then accept

$IPTABLES -A INPUT -p tcp -s 127.0.0.1  -j ACCEPT



# if pkg not above then deny

$IPTABLES -A INPUT -p tcp --syn -j DROP

下面这个防火墙测试结果更正确,能起到一定的防攻击的功能



#!/bin/sh

IPTABLES="/sbin/iptables"

echo "1" > /proc/sys/net/ipv4/ip_forward

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -F
$IPTABLES -X


$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT


$IPTABLES -A OUTPUT -p tcp -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -s 192.168.1.102 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -s 192.168.1.102 -j ACCEPT



$IPTABLES -A INPUT -p tcp --syn -j DROP

   netfilter的用户控制命令是iptables,通过iptables建立适当的规则添加到内核中实现信息数据包的过滤。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

   iptables的一般语法如下:

美高梅游戏官网娱乐,您可能感兴趣的文章:

  • 一键配置CentOS iptables防火墙的Shell脚本分享
  • Linux防火墙iptables入门教程
  • 修改iptables防火墙规则解决vsftp登录后不显示文件目录的问题
  • 美高梅棋牌,linux增加iptables防火墙规则的示例
  • Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
  • shell脚本结合iptables防端口扫描的实现
  • 美高梅游戏网站,linux服务器下通过iptables+Denyhost抵御暴力破解的配置方法
  • 分享一个实用的iptables脚本(各种过滤写法参考)
  • 阿里云Centos配置iptables防火墙教程

   iptalbes [-t table] command [match] [target]

   一条iptables规则包含4个基本元素,

  1)表(table)

    [-t table] 选项允许使用标准表之外的任何表。有三种可以使用的表选项:filter、nat和mangle。

 

  2)命令(command)

    command部分是iptables命令的最重要部分,它告诉iptables命令要做什么,例如,插入规则、将规则添加到

    链的末尾或删除规则。主要有如表1所示的命令。

         

    表1 iptables常用命令

    -A或--append        该命令将一条规则附加到链的末尾

    -D或--delete        通过用-D指定要匹配的规则或者指定规则在链中的位置编号,该命令从链中删除该规则

    -P或--policy        该命令设置链的默认目标,即策略。所有与链中任何规则都不匹配的信息包都将被强制使

                        用此链的策略

    -N或--new-chain     用命令中所指定的名称创建一个新链

    -F或--flush         如果指定链名,该命令删除链中的所有规则,如果未指定链名,该命令删除所有链中的所 

                        有规则。此参数用于快速清除

    -L或--list          列出指定链中的所有规则

    -R或--replace       替换指定链中一条匹配的规则

    -X或--delete-chain  删除指定用户的的定义链,若没有指定链,则删除所有的用户链

    -C或--check         检查数据包是否与指定链的规则相匹配

    -Z或--zero          将指定链中所有规则的byte计数器清零

 

 

  3)匹配(match)

    iptables命令的可选match部分指定信息包与规则匹配所应具有的特征(如源和目的地地址、协议等)。匹配分为

    两大类:通用匹配和特定于协议的匹配。这里,将研究可用于采用任何协议的信息包的通用匹配。下面是一些重

    要的且常用的通用匹配及其说明,如表2所示。

 

    表2 通用匹配说明

 

 

    通用匹配                说    明

    -p或--protocol       该通用协议匹配用于检查某些特定协议。协议示例有TCP、UDP、ICMP、用逗号分隔的任何这三

                               种协议的组合列表以及ALL(用于所有协议)ALL是默认匹配。可以使用!符号表示不与该项匹配

    -s 或 --source       该源匹配用于根据信息包的源IP地址来与它们匹配。该匹配还允许对某一范围内的IP地址进行匹

                               配,可以使用!符号,表示不与该项匹配。默认源匹配与所有IP地址匹配

    -d 或 --destination  该目的地匹配用于根据信息包的目的地IP地址来与它们匹配。该匹配还允许对某一范围内IP

                                 地址进行匹配,可以使用!符号表示不与该项匹配

    --sport                  指定匹配规则的源端口或端口范围

本文由美高梅游戏网站发布于智能硬件,转载请注明出处:CentOS服务器iptables配置轻松教程

关键词: