Linux防火墙iptables入门教程
发布时间:2022-05-07 17:57:25
一、关于iptables
Iptables是一个基于命令行的防火墙工具,它使用规则链来允许/阻止网络流量。当一条网络连接试图在你的系统中建立时,iptables会查找其对应的匹配规则。如果找不到,iptables将对其采取默认操作。
几乎所有的Linux发行版都预装了iptables。在Ubuntu/Debian中更新/安装iptables的命令为:
sudo apt-get install iptables
现有的一些图形界面软件也可以替代iptables,如Firestarter。但iptables用起来并不难。配置iptables的规则时要特别小心,特别是在你远程登陆服务器的时候。因为这时的一个错误有可能让你和服务器永久失去连接,而你必须要到服务器面前才能解决它。
二、Iptables规则链的类型
Iptables的规则链分为三种:输入、转发和输出。
1.输入——这条链用来过滤目的地址是本机的连接。例如,如果一个用户试图使用SSH登陆到你的PC/服务器,iptables会首先匹配其IP地址和端口到iptables的输入链规则。
2.转发——这条链用来过滤目的地址和源地址都不是本机的连接。例如,路由器收到的绝大数数据均需要转发给其它主机。如果你的系统没有开启类似于路由器的功能,如NATing,你就不需要使用这条链。
有一个安全且可靠的方法可以检测你的系统是否需要转发链:
iptables -L -v
上图是对一台已经运行了几个星期的服务器的截图。这台服务器没有对输入和输出做任何限制。从中可以看到,输入链和输出链已经分别处理了11GB和17GB的数据,而转发链则没有处理任何数据。这是因为此服务器没有开启类似于路由器的转发功能。
3.输出——这条链用来过滤源地址是本机的连接。例如,当你尝试ping howtogeek.com时,iptables会检查输出链中与ping和howtogeek.com相关的规则,然后决定允许还是拒绝你的连接请求。
注意:当ping一台外部主机时,看上去好像只是输出链在起作用。但是请记住,外部主机返回的数据要经过输入链的过滤。当配置iptables规则时,请牢记许多协议都需要双向通信,所以你需要同时配置输入链和输出链。人们在配置SSH的时候通常会忘记在输入链和输出链都配置它。
三、链的默认行为
在配置特定的规则之前,也许你想配置这些链的默认行为。换句话说,当iptables无法匹配现存的规则时,你想让它作出何种行为。
你可以运行如下的命令来显示当前iptables对无法匹配的连接的默认动作:
iptables -L
正如上面所显示的,我们可以使用grep来使输出的结果变得更加简洁。在上面的截图中,所有的链默认情况下均接受所有的连接。
你也可以在使用默认配置的情况下,添加一些命令来过滤特定的IP地址或端口号。我们稍后在本文介绍这些命令。
四、对特定连接的配置
|
五、允许或阻止特定的连接 在配置完基本的规则链之后,你就可以配置iptables来允许或者阻止特定的IP地址或者端口。 来自同一IP地址的连接 iptables -A INPUT -s 10.10.10.10 -j DROP 来自一组IP地址的连接 下面这个例子展示了如何阻止来自子网10.10.10.0/24内的任意IP地址的连接。你可以使用子网掩码或者标准的/符号来标示一个子网: iptables -A INPUT -s 10.10.10.0/24 -j DROP 或 iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP 特定端口的连接 这个例子展示了如何阻止来自10.10.10.10的SSH连接。 iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP 你可以将“ssh”替换成其它任何协议或者端口号。上述命令中的-p tcp告诉iptables连接使用的是何种协议。 下面这个例子展示了如何阻止来自任意IP地址的SSH连接。 iptables -A INPUT -p tcp --dport ssh -j DROP 六、连接状态 我们之前提到过,许多协议均需要双向通信。例如,如果你打算允许SSH连接,你必须同时配置输入和输出链。但是,如果你只想允许来自外部的SSH请求,那该怎么做?
七、保存更改 上述方法对iptables规则作出的改变是临时的。如果你想永久保存这些更改,你需要运行额外的命令(不同Linux发行版下的保存命令也不相同): Ubuntu: sudo /sbin/iptables-save Red Hat / CentOS: /sbin/service iptables save 或者 /etc/init.d/iptables save |
八、其它命令
列出iptables的当前配置:
iptables -L
使用-v选项将显示数据包和字节信息;使用-n选项将以数字形式列出信息,即不将IP地址解析为域名。
换句话讲,主机名,协议和网络都以数字的形式列出。
清除当前所有的配置规则:
iptables -F
猜你喜欢
- 因为想让虚拟机拥有自己的局域网IP, 所以用了桥接, 这样方便测试.问题来了:1.ssh突然连接不上了,虚拟机上的项目也无法访问了.2.虚拟
- 理论基础: 点击率越低,广告分成越低。问题:众所周知,一般访问并不点击广告。大部分网站广告点击90%是来自搜索引擎的用户看到的第一个页面。另
- 10月31日消息,消息人士透露,思科和EMC将联手销售用于云计算服务的新款网络设备、计算机和存储系统。据国外媒体报道称,代号为&ld
- 当提到内容的创意时,我们通常会把主要的注意力集中到提高内容可信度上,似乎我们正在写一些系列化的书籍,然而,博客并不是一本书。实际上,网上的博
- 站上有个朋友在卖站的时候,有人让他公开计数器,他的站的流量都是利用一些流量技巧弄来的流量。我们创造了关键词,而且是网络上唯一的。网络上唯一的
- 给文件夹设置权限二添加Guests组和虚拟主机组用户拒绝权限Guests组可以访问某些文件可能会造成安全隐患,我们应该拒绝Guests组访问
- 随着经济危机的逐步渗透,各个行业都受到不同程度的影响。不少企业正通过裁员、减薪、控制成本、减少广告投入等方式来减少开支,但是企业要发展就离不
- 昨日收到Godaddy发给我的一封域名转让成功的信,现将详细转入过程分享给大家。域名转移前要满足一下条件:1.要转移的域名必须满足注册满60
- 1 从信托的网站上,加入到本地的链接联盟中2 如果您有足够的有价值的信息并认识一个教授的话,与地方高校建立链接是有意义的3 加入更好的商业协
- 著名的Aaron Wall在他的博客发表了一篇帖子,题目就是“Google新算法给予品牌很大权重”。对大品牌给予更多权重,Google CE
- GoDaddy主机用户如果想要取消主机帐户,将会删除存储在服务器上的所有的网站文档。所以在确保取消帐户前,需要保存文档的备份。首先.登陆Ac
- 前言:这篇文章主要是帮助没有购买过美国主机的朋友全面的认识美国主机的特点,以方便大家在中美两国主机的选择上有一个比较完善的参考意见。区别一:
- 首先说为什么要基于网易邮箱。网易自己号称他的网易邮箱(@163.com @126.com @yeah.net)是3亿用户的选择。其实也没有夸
- 404错误页面是当有人试图访问你的网站尚不存在的某个网页时显示的错误页面。我们的托管帐户允许你使用主页当作404错误页面page,或者你可以
- 或许你已经注意到了,百度在最近些日子改版了。是的,就像图中的那样,他的框计算改进了。更加智能,更加先进,也更加可怕。过去我曾经写过一篇百度的
- 目录1. 什么是wp与支付宝的系统集成?2. 为什么写这篇文章?3. 系统集成的步骤4. 一些感想正文1. 什么是wp与支付宝的系统集成?支
- 前言微软Build2017大会期间.NET领域的.NET core之外,就是Visual Studio For Mac,大家都知道Visua
- 由SiteServer CMS、中国站长站联合主办,中电数据、创意在线协作举办、站长 * 别支持的“2010,我爱SiteServer CMS
- 为了把握主流社区产品的应用趋势,进一步满足了地方及垂直社区门户化发展的应用需求,中国领先的社区平台与服务提供商康盛创想(Comsenz)通过
- Lftp是一个功能强大的下载工具,它支持访问文件的协议: ftp, sftp,ftps, http, https, hftp, fish.(