使用iptables工作

Iptables,更准确地说是“Iptables /netfilter”,因为它涉及两个模块:用户空间模块“Iptables”和内核模块“netfilter”,这是目前大多数Linux系统上默认运行的防火墙。早期的后代ipchains的,一般iptables的禁止网络通信,试图在系统上实现的服务。你几乎可以把它作为是,除非或直到你需要提供服务给其他系统,或者换句话说,直到你的系统需求,成为服务器。

顾名思义,iptables的组织为一组表。默认情况下,在大多数情况下,只有一个表 - 一个叫“过滤器” - 在实际配置。如果您没有作出任何改变,过滤表将可能被设置为接受建立的连接,ICMP请求和请求发送到环回接口(即,系统本身产生的那些)。这将拒绝一切。这提供了“默认拒绝”规则,让他们的防火墙声名鹊起 - 否认一切,你没有明确允许。

因为iptables是一个内核函数,所以不会看到进程在运行PS命令是要告诉你是否它是如何工作的事情。你可以,但是,很容易检查的iptables的状态用命令systemctl地位iptables.service或者只是在服务iptables的状态命令 - 这取决于你的Linux发行版。

systemctl地位iptables.serviceiptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled) Active: active (exited) since Sun, 25 Nov 2012 19:50:53 -0500; 2min 5s ago Process: 565 ExecStart=/usr/libexec/iptables.init start (code=exited, status=0/SUCCESS) CGroup: name=systemd:/system/iptables.service

您还可以查询iptables在命令iptables的-L这将列出活动的规则。

#iptables的-L链INPUT(政策接受)目标PROT选择这里只列出了 - 相关的任何地方随时随地状态,ESTABLISHED接受ICMP  - 任何地方的任何地方拒绝所有 - 任何地方的任何地方拒收与ICMP主机禁止链FORWARD(ACCEPT政策)目标PROT选择源目标拒绝所有 - 任何地方的任何地方拒收与ICMP主机禁止链OUTPUT(政策接受)目标PROT选择源目标

如果iptables在运行时不运行iptables的-L命令,您将看到空表的外观。

#iptables的-L链INPUT(政策接受)目标PROT选择源目的链FORWARD(政策接受)目标PROT选择源目的地链输出(政策接受)目标PROT选择源目标

您可以使用以下命令停止和重新启动iptables:

# systemctl停止iptables。启动iptables。服务或- # systemctl重新启动iptables。服务-或者- #服务iptables重启

您可以将规则添加到iptables的配置文件的/ etc / SYSCONFIG / iptables的通过编辑文件本身(一般不推荐),或者你可以用一个iptables命令添加。例如,你可以使用这样的命令,以启用SSH连接:

#iptables的INPUT -A -m状态--state NEW -m TCP -p tcp的--dport 22 -j ACCEPT

请注意,在该示例中,目的地端口(--dport)是22,端口SSH。

您也可以使用桌面工具系统配置的防火墙,如果有可用的服务,则从列表中选择要支持的服务。只需了解在使用此工具时,您以前的手动更改将被清除,因此如果需要重新应用这些更改,请先保存它们。

如果希望使用iptables命令,可以发出一系列命令来配置防火墙规则。您甚至可以将规则放入脚本并运行它,但是一旦将规则放入/etc/sysconfig/iptables文件中,iptables就会在系统启动时启动这些规则——如果设置为在启动时启动。如果不是,运行以下命令:

#systemctl使iptables.service

如果你需要配置你的iptables过滤表,你可以使用这些规则。从头开始可能会包含以下命令:

  • iptables的-F刷新现有的规则。
  • iptables -P输入下降将输入链上的默认策略设置为DROP。这将设置传入包的默认拒绝。
  • iptables的-P正向压降设置砸FORWARD链的默认,但它是不太可能遇到的任何数据包,如果你的系统没有充当路由器。
  • iptables的INPUT -A -i LO -j ACCEPT所有进入环回接口的数据包将被接受
  • iptables -A输入-m状态-状态新,已建立,相关-j接受接受作为已建立连接的一部分的数据包

在运行iptables的命令后,您可以使用iptables-save命令命令将它们保存到/etc/sysconfig/iptables配置文件中。

# iptables-save

在一个新的系统,你的iptables规则有可能会是这个样子:

*滤波器:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0] -A INPUT -m状态--state ESTABLISHED,相关-j ACCEPT -A INPUT -p ICMP -j ACCEPT-A INPUT -i LO -j ACCEPT -A INPUT -j REJECT --reject-与ICMP主机禁止-A FORWARD -j拒绝--reject-与ICMP主机禁止COMMIT

*过滤行标记筛选表的开始。下面的三行建立了三个链——输入、转发和输出。

前三——一个线做只是如上所述。首先是接受建立的连接的规则。看这是“添加(-A)到INPUT链,即是要匹配的连接状态,如果建立了连接状态,那么将接受连接的规则”。第二个接受ICMP请求。第三接受系统本身产生的连接(即,从环回接口)。

第四和第五——一个线拒绝一切。

提交线端过滤表的定义,并提交该规则刚刚建立到内核,他们准备好使用。

规则中的参数都有特定的含义,如下所述:

 -i 接口的 -m 匹配的 -p 协议的 -j 跳转到策略(ACCEPT,DROP,等)  - 拒绝-与的识别排斥型的  - 状态的状态的识别状态

Iptables并不像第一次出现时那样难以理解或更新,但在编写规则时仍应小心,以免将自己锁在试图管理的系统之外。慢慢地、仔细地制定你的规则,你应该会没事的。

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对大家最关心的话题发表评论。

版权所有©2012Raybet2

IT薪资调查:结果是