2011-07-30
Iptables对于刚入门Linux的新手都比较难理解和配置。但是如果你掌握了其中的诀窍,你就会发现其实没有那么难学。Iptables是Linux的静态防火墙,用来创建规则来过滤数据包和NAT模块。简单地说,Iptables为Linux网络连接的防火墙。
检查Iptables是否安装
在配置Iptables之前,我们首先得确认Iptalbes是否已经安装了:
# rpm -qa | grep iptables
执行命令后应该会打印出iptables-your.installed.version这样的信息。如果没有,则表示没有安装,你可以下载最新的rpm软件包通过命令rpm -Uvh iptables-downloaded.version.rpm安装,或是直接使用yum安装:
#yum install iptables
Iptables相关的文件
/etc/init.d/iptables:这个是用来开始、停止Iptables或是保存规则的初始化脚本。
/etc/sysconfig/iptables:所有的规则都保存在这个文件。
/sbin/iptables:是Iptables的二进制文件。
在真正开始配置规则时,我们先来看看当前的配置:
#iptables -L
默认的,当前只有三条规则链:INPUT、OUTPU、FORWARD。INPUT规则链包含进站数据包的规则,OUTPUT规则链包含出站数据包规则,FORWARD规则链包含转发数据包到其它主机的规则。
Iptables大多数用来配置处理从网络进入Linux服务器的数据包,所以INPUT规则链经常会到用到。当有数据包通过Linux核心,下面几个指令会决定数据包被匹配之后如何处理。
ACCEPT: 数据包允许通过其到达目的地。
REJECT: 数据包被拒绝并返回给发数据包的主机一个简单的解释。
DROP: 数据包被拒绝不返回任何信息。
配置Iptables规则
在开始配置规则之前,有必要提出三点建议:
1、规则的顺序很重要。比如一开始你就添加了一个阻止任何的规则,那么你下面的允许规则都不会起作用了。
2、你要记住编写的规则是存储在内存中,不会自动存储磁盘,因此你重启之后,规则就不会了,所以你需要手动执行初始化脚本来保存规则。
3、如果你是在远程来管理服务器,比如SSH,那么配置规则之前首先得添加允许ssh的规则,要不Iptables会把你阻止在外。
# iptables -A INPUT -s 213.10.10.13 -d 192.168.1.1 -p TCP -dport 22 -j ACCEPT
说明:
-A:附加INPUT规则链;
-s: 来源IP,例子中就是你当前登录ssh所用的电脑IP;
-d:目的地址,例子中就是服务器IP
-p:通信协议
–dport:目的端口,例子中是ssh默认端口22;
-j:代表“Jump”,所以之前的规则都匹配,则接受数据包。
下面让我们来为一般的数据包设置基本的规则。Iptables的特性之一是能确定数据包的状态。下面是在一个新的连接的数据包状态:
NEW:第一服务器发送给第二服务器一个SYN数据包来新建一个连接。
RELATED: 第二服务器接收SYN数据包并发送给第一服务器一个SYN-ACK数据包来确定连接正常。
ESTABLISHED: 第一服务器接收到SYN-ACK数据包并发送给第二服务器ACK服务器来做最后的确认,至此连接建立完成,两台服务器开始传输数据。
为了让你的服务器能与其它服务器建立TCP连接,Iptables必须配置如下:
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -m state --state RELATED,ESTABLISHED
自定义规则
阻止IP:
# iptables -A INPUT -s 213.10.10.13 -j DROP
这条规则表示阻止从IP213.10.10.13传进来的数据包。
# iptables -A INPUT -d 192.168.1.15 -j REJECT
这条规则表示阻止从局域网IP192.168.1.15来的数据包。
允许IP:
# iptables -A INPUT -s 213.10.10.13 -d 192.168.1.4 -p tcp --dport 21
这条规则表示接受来自IP 213.10.10.13到目标地址FTP服务器192.168.1.4的数据包。
当你配置来必要的规则之后,到时候在最后增加拒绝所有的规则了:
# iptables -A INPUT -j REJECT
# iptables -A FORWARD -j REJECT
这些规则必须在最后添加。
要删除一个规则,只需把”-A”替换成”-D”即可。
保存规则
为了保存Iptables规则,只需执行以下命令:
# /etc/init.d/iptables save
停止Iptables来刷新所有规则:
# /etc/init.d/iptables stop
重新启动Iptables从/etc/sysconfig/iptables加载最新规则:
# /etc/init.d/iptables start
这只是一个基础的Iptables教程,适合配置比较简单的规则,如果需要配置复杂的规则,还需要深入的学习。
弓箭大师你就是王者游戏下载v2.0.1 安卓最新版
其它手游 164.4M
下载弓箭大师你就是王者官方版下载v2.0.1 安卓版
其它手游 164.4M
下载3d狙击王者手机游戏下载v1.5 安卓版
射击枪战 63.0M
下载足球冲鸭手机版下载v1.0.16.404.401.0116 安卓版
其它手游 81.0M
下载有种来找我手游下载v1.4.8 安卓版
动作闯关 104.7M
下载忍者跳跳跳官方版下载v1.0.2 安卓版
动作闯关 46.8M
下载百战斗斗堂拇指游戏下载v5.8 安卓版
射击枪战 294.3M
下载梦幻斗斗堂手游下载v5.8 安卓版
其它手游 294.3M
下载百战斗斗堂4399版下载v5.8 安卓版
下载
百战斗斗堂九游手游下载v5.8 安卓版
下载
百战斗斗堂手游下载v5.8 安卓正版
下载
弓箭传说bt版下载v2.14.1 安卓版
下载
美味星球永恒手机版下载v1.8.7.0 安卓版
下载
火柴人战争遗产争夺游戏下载v2022.1.9安卓版
下载
史小坑的花前月下游戏下载v1.7.8 安卓版
下载
谁也别想跑小游戏下载v21.01.05 安卓版
下载