设置防火墙
可以添加可信任服务,比如添加FTP和 SSH。添加的可信任服务其实是允许数据包从该服务对应的端口进出。另外也可以直接添加可信任的端口,比如添加了3128(squid服务)。
端窗口执行iptables -L命令,如图3所示,可以看出刚才添加的过滤规则已经生效。
图3 执行iptables -L命令
下面是一个iptables的脚本实例,读者要根据自己的环境需求进行相应的调整。
#!/bin/bash
INET_IF="ppp0" #外网接口
LAN_IF="eth0" #内网接口
LAN_IP_RANGE="192.168.1.0/24" #内网IP地址范围,用于NAT
IPT="/sbin/iptables" #定义变量
MODPROBE="/sbin/modprobe"
$MODPROBE ip_tables #下面9行加载相关模块
$MODPROBE iptable_nat
$MODPROBE ip_nat_ftp
$MODPROBE ip_nat_irc
$MODPROBE ipt_mark
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$NODPROBK ip_conntrack_irc
$NODPROBK ipt_MASOUZRADE
for TABLE in filter nat mangle;do #清除所有防火墙规则
$IPT -t $TABLE -F
$IPT -t $TABLR -X
done
$IPT -P INPUT DROP #下面6行设置filter和nat表的默认策略
$IPT -P OUTPUT ACCEPT
$IPT -P FOKNARD DROP
$IPT -t nat -P PREROUTINC ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$1PT -t nat -P OUTPUT ACCEPT
#允许内网samba、smtp和pop3连接
$IPT -A INPUT -m state --state ESTABLISHED,RKLATED -j ACCEPT
$IPT -A INPUT -p top -m multiport --dports 1863,443,110,80,25 -j ACCEPT
$IPT -A INPUT -p top -s $LAN_IP_RANGR --dport 139 -j ACCEPT
#允许DNs连接
$IPT -A INPUT -i $LAN_IF -p udp -m multiport --dports 53 -j ACCEPT
#为了防止DOS攻击,可以最多允许15个初始连接,超过的将被丢弃
$IPT -A INPUT -s $LAN_IP_RANGE -p top -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -i $ INET_IF -p top --syn -m connlimit --connlimit -above 15 -j DROP
$IPT -A INPUT -s $LAN_IPRANGE -P top --syn -m connlimit --connlimit -above 15 -j DROP
#设置ICMP阈值,记录攻击行为
$IPT -A INPUT -p icmp -m limit --limit 3/s -j LOG --log-level INPO --log -prefix
"ICMP packet IN:"
$IPT -A INPUT -p icmp -m limit --limit 6/m -j ACCEPT
$IPT -A INPUT -p icmp -i DROP
#开放的端口
$IPT -A INPUT -p TCP -i $INE IF --dport 21 -j ACCEPT #FTP
$IPT -A INPUT -p TCP -i $INE IF --dport 22 -j ACCEPT #SSH
$IPT -A INPUT -p TCP -i $INE IF --dport 25 -j ACCEPT #SMTP
$IPT -A INPUT -p TCP -i $INE IF --dport 53 -j ACCEPT #DNS
$IPT -A INPUT -p TCP -i $INE IF --dport 53 -j ACCEPT #DNS
$IPT -A INPUT -p TCP -i $INE IF --dport 80 -j ACCEPT #WWW
$IPT -A INPUT -p TCP -i $INE IF --dport 110 -j ACCEPT #POP3
#禁止BT连接
$IPT -I PORNARD -M state --state ESTABLISHKD,RELATZD -J ACCEPT
$IPT -A PORNARD -m ipp2p --edk --kazaa --bIT -j DROP
$IPT -A PORNARD -p tcp -m ipp2p --ares -j DROP
$IPT -A PORNARD -p udp -m ipp2p --kazaa j DROP
#只允许每组ip同时15个80端口转发
$IPT -A PORWARD -p top --syn --dport 80 -m connlimit --connlimit -above 15
--connlimit -mask 24 -j DROP
#NAC、IP地址绑定
$IPT -A PORNARD -s 192.168.O.1 -m mac --mac -source 00:E2:A1:56:C2 -p tcp --dport 80 -i ACCEPT
$IPT -A PORNARD -s 192.168.O.10 -m mac --mac -source 00:22:DA:32:C1 -p tcp --dport 80 -i ACCEPT
$IPT -A PORNARD -s 192.168.O.62 -m mac --mac -source 00:0C
新文章:
- CentOS7下图形配置网络的方法
- CentOS 7如何添加删除用户
- 如何解决centos7双系统后丢失windows启动项
- CentOS单网卡如何批量添加不同IP段
- CentOS下iconv命令的介绍
- Centos7 SSH密钥登陆及密码密钥双重验证详解
- CentOS 7.1添加删除用户的方法
- CentOS查找/扫描局域网打印机IP讲解
- CentOS7使用hostapd实现无AP模式的详解
- su命令不能切换root的解决方法
- 解决VMware下CentOS7网络重启出错
- 解决Centos7双系统后丢失windows启动项
- CentOS下如何避免文件覆盖
- CentOS7和CentOS6系统有什么不同呢
- Centos 6.6默认iptable规则详解