作为程序员一定要保持良好的睡眠,才能好编程

iptables服务器部署

发布时间:2016-05-16


若:

systemctl disable iptables.service


systemctl enable iptables


systemctl start iptalbes


systemctl stop iptables


systemctl status iptables







配置防火墙:

http://www.cnblogs.com/bangerlee/archive/2013/02/27/2935422.html

这里也还有好多要学习的,可以看看。

删除已有规则

iptables -F
iptables -X
iptables -Z


设置chain策略

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP


屏蔽IP

iptables -A INPUT -i eth0 -p tcp -s "192.168.61.102" -j DROP



或直接使用这个文件

iptables.txt


也可以编辑文件自定义

vim /etc/sysconfig/iptables


iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 25 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

回环地址:

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT


tail -f /var/log/messages


Iptables默认的日志文件:/var/log/messages



(1)被动(Passive)ftp连接模式。
#iptables -A INPUT -p tcp --sport 1024: --dport 1024: -m state –-state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m
state -–state ESTABLISHED,RELATED -j ACCEPT
(2)主动(Active)ftp连接模式
#iptables -A INNPUT -p tcp --sport 20 -m state –-state ESTABLISHED,RELATED -j ACCEPT
#iptables -A OUTPUT -p tcp –OUTPUT -p tcp –dport 20 -m state --state ESTABLISHED -j ACCEPT



文件地址:

/etc/sysconfig/iptables 保存的文件


r31.png






vim /etc/sysconfig/iptables  验证规则


-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth+ -p tcp -m tcp --dport 80 -j LOG --log-prefix "iptables_80_alert" --log-level 6
-A INPUT -i eth+ -p tcp -m tcp --dport 21 -j LOG --log-prefix "iptables_21_alert" --log-level 6
-A INPUT -i eth+ -p tcp -m tcp --dport 22 -j LOG --log-prefix "iptables_22_alert" --log-level 6
-A INPUT -i eth+ -p tcp -m tcp --dport 80 -j LOG --log-prefix "iptables_80_alert" --log-level 6
-A INPUT -i eth+ -p tcp -m tcp --dport 21 -j LOG --log-prefix "iptables_21_alert" --log-level 6
-A INPUT -i eth+ -p tcp -m tcp --dport 22 -j LOG --log-prefix "iptables_22_alert" --log-level 6
-A INPUT -i eth+ -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth+ -p icmp -m icmp --icmp-type 0 -j ACCEPT

r33.png



Iptables默认的日志文件:/var/log/messages



2). 输出iptables日志信息到一个指定文件的方法
打开你的/etc/syslog.conf文件:
# vi /etc/syslog.conf

在文件末尾加入下面一行信息
kern.warning /var/log/iptables.log

保存和关闭文件.

重新启动syslogd(如果你使用Debian/Ubuntu Linux):
# /etc/init.d/sysklogd restart

另外, 使用下面命令重新启动syslogd(如果你使用Red Hat/Cent OS/Fedora Core Linux):
# /etc/init.d/syslog restart

现在确认你的iptables使用了log-level 4参数(前面有一个log-prefix标志). 例如:
# DROP everything and Log it
iptables -A INPUT -j LOG –log-level 4
iptables -A INPUT -j DROP

举一个例子, 丢弃和记录所有来自IP地址65.55.11.2的连接信息到/var/log/iptables.log文件.
iptables -A INPUT -s 64.55.11.2 -m limit --limit 5/m --limit-burst 7 -j LOG –log-prefix ‘** HACKERS **’ --log-level 4
iptables -A INPUT -s 64.55.11.2 -j DROP

命令解释:

. - log-level 4: 记录的级别. 级别4为警告(warning).
. - log-prefix ‘*** TEXT ***’: 这里定义了在日志输出信息前加上TEXT前缀. TEXT信息最长可以是29个字符, 这样你就可以在记录文件中方便找到相关的信息.