欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

CentOS服务器iptables配置简单教程

程序员文章站 2023-09-03 15:39:55
iptables是linux类服务器重要的网络安全防范系统工具,考虑到多数服务器有专门的团队托管,服务器管理员多数时间只能通过ssh进行远程管理,在安全允许的情况下,保证s...

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,将刚才的配置保存。

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

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

小编再补充一个知识点:防简单攻击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

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