| 您的当前位置:首页 --> CentOS入门 |
| CentOS防火墙iptables初学者教程 |
| 浏览次数:2695 关键词 ( 初学者 防火墙 教程 CentOS ) |
|
Iptables是专为Linux操作系统打造的极其灵活的防火墙工具。对Linux极客玩家和系统管理员来说,iptables非常有用。本文将向你展示如何配置最通用的Linux防火墙。 关于iptablesIptables是一个基于命令行的防火墙工具,它使用规则链来允许/阻止网络流量。当一条网络连接试图在你的系统中建立时,iptables会查找其对应的匹配规则。如果找不到,iptables将对其采取默认操作。 现有的一些图形界面软件也可以替代iptables,如Firestarter。但iptables用起来并不难。配置iptables的规则时要特别小心,特别是在你远程登陆服务器的时候。因为这时的一个错误有可能让你和服务器永久失去连接,而你必须要到服务器面前才能解决它。 Iptables规则链的类型Iptables的规则链分为三种:输入、转发和输出。 转发——这条链用来过滤目的地址和源地址都不是本机的连接。例如,路由器收到的绝大数数据均需要转发给其它主机。如果你的系统没有开启类似于路由器的功能,如NATing,你就不需要使用这条链。
上图是对一台已经运行了几个星期的服务器的截图。这台服务器没有对输入和输出做任何限制。从中可以看到,输入链和输出链已经分别处理了11GB和17GB的数据,而转发链则没有处理任何数据。这是因为此服务器没有开启类似于路由器的转发功能。 输出——这条链用来过滤源地址是本机的连接。例如,当你尝试ping howtogeek.com时,iptables会检查输出链中与ping和howtogeek.com相关的规则,然后决定允许还是拒绝你的连接请求。 注意:当ping一台外部主机时,看上去好像只是输出链在起作用。但是请记住,外部主机返回的数据要经过输入链的过滤。当配置iptables规则时,请牢记许多协议都需要双向通信,所以你需要同时配置输入链和输出链。人们在配置SSH的时候通常会忘记在输入链和输出链都配置它。 链的默认行为在配置特定的规则之前,也许你想配置这些链的默认行为。换句话说,当iptables无法匹配现存的规则时,你想让它作出何种行为。
正如上面所显示的,我们可以使用grep来使输出的结果变得更加简洁。在上面的截图中,所有的链默认情况下均接受所有的连接。 你也可以在使用默认配置的情况下,添加一些命令来过滤特定的IP地址或端口号。我们稍后在本文介绍这些命令。 下面来看看如何对特定的IP地址或端口作出设定。本文主要介绍三种最基本和常见的设定。 丢弃访问 拒绝访问 在配置完基本的规则链之后,你就可以配置iptables来允许或者阻止特定的IP地址或者端口。 来自同一IP地址的连接 来自一组IP地址的连接 或 Shell1iptables-AINPUT-s10.10.10.0/255.255.255.0-jDROP特定端口的连接 你可以将“ssh”替换成其它任何协议或者端口号。上述命令中的-p tcp告诉iptables连接使用的是何种协议。 我们之前提到过,许多协议均需要双向通信。例如,如果你打算允许SSH连接,你必须同时配置输入和输出链。但是,如果你只想允许来自外部的SSH请求,那该怎么做? 上述方法对iptables规则作出的改变是临时的。如果你想永久保存这些更改,你需要运行额外的命令(不同Linux发行版下的保存命令也不相同): Red Hat / CentOS: Shell1/sbin/service iptables save或者 Shell1/etc/init.d/iptables save列出iptables的当前配置: Shell1iptables-L使用-v选项将显示数据包和字节信息;使用-n选项将以数字形式列出信息,即不将IP地址解析为域名。 清除当前所有的配置规则: |
| 下载次数:10 |
| 下载地址:点击下载 |
| 本资源为程序自动采集,如有侵权请联系我们移除 admin#80vps.com 来信请将#替换为@ |
| 下一条 centos系统中网络配置相关 上一条 CentOS关机命令shutdown reboot halt poweroff |