iptables防火墙

iptables防火墙

安装可以使用RPM安装,下载最新的版本,然后./configure --prifix=/some/path/ && make && make install 就可以了。重点在如何step by step 简历一个自己的iptables防火墙。

首先在使用iptables之前敲入一下两条命令

# iptables -F    #这句话的意思是清空所有的链

# iptables -X   #这句话的意思是清空所有自定义的链

以上两条的含义你可以简单的认为是iptables的初始化命令,无需深入。

下面我们将要开始建立一个iptables防火墙了。我们的做法是,默认所有的数据都丢弃,除非我认为满足条件的我才接受,有针对的打开我们需要的端口,无疑是很安全的一种做法。下面两句话可以定义默认全部丢弃数据包:

> iptables -P INPUT DROP

> iptables -P OUTPUT DROP

-P参数的意思是policy,翻译成策略~那么这两句话就好理解了。

第一句的意思是:

输入(INPUT)的数据包默认的策略(-P)是丢弃(DROP)的

第二句的意思是:

输出(OUTPUT)的数据包默认的策略(-P)是丢弃(DROP)的

用shell脚本写下一下内容,然后再执行这个脚本,把相应的内容写到相应的链中

#!/bin/bash

#filename:iptabshell

#

iptables -A INPUT -p icmp --icmp-type any -j ACCEPT     //允许icmp包进入

iptables -A INPUT -s localhost -d localhost -j ACCEPT   //允许本地的数据包

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT   //允许已经建立和相关的数据包进入

iptables -A OUTPUT -p icmp --icmp any -j ACCEPT   //允许icmp包出去

iptables -A OUTPUT -s localhost -d localhost -j ACCEPT    //允许本地数据包出去

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT   //允许已经建立和相关的数据包出去

#http&https

iptables -A INPUT -p tcp --dport 80 -j ACCEPT     //允许http的数据进入

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

//允许已经建立的数据包出去

iptables -A OUTPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT

                                      //允许http的数据出去

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT                                     //允许已经建立的数据包出去

iptables -A INPUT -p tcp --dport 443 -j ACCEPT    //允许https数据进入

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#dns

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT

//允许dns中的tcp数据包进入

iptables -A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

      //允许dns中的tcp数据包进入

iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

//允许dns中的tcp数据包出去

#ssh

iptables -A INPUT -p tcp --dport 22 -j ACCEPT     //允许ssh的数据进入

iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT    //允许ssh的数据出去

#smtp

iptables -A INPUT -p tcp --dport 25 -j ACCEPT     //允许smtp的数据进入

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

          

iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT    //允许smtp的数据进入

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#samba

iptables -A INPUT -p udp --dport 137 -j ACCEPT

iptables -A INPUT -p udp --dport 138 -j ACCEPT

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

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

你可能感兴趣的:(通信协议)