使用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

您还可以使用命令查询iptablesiptables -l.这将列出活动规则。

#iptables -l链输入(策略接受)目标protopt源目的地接受所有 - 任何地方州际州相关,建立的接受icmp  - 任何地方拒绝所有 - 任何地方拒绝 - 使用ICMP-Host-禁止的链向前拒绝(策略接受)目标protopt源目的地拒绝所有 - 任何地方拒绝 - 使用ICMP-Host禁止的链输出(策略接受)目标Prot Opt源目的地

如果iptables没有运行iptables -l.命令,您将看到看起来像空表的内容。

#iptables -l链输入(策略接受)目标protop源目的地链向前(策略接受)目标protop源目的地链输出(策略接受)目标prot源目的地

你可以使用以下命令停止和重启iptables:

# systemctl stop iptables。服务# systemctl启动iptables。服务-或- # systemctl restart iptables. confService -or- # Service iptables restart .重启iptables服务

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

#iptables -a输入-m状态 -  state new -m tcp -p tcp --dport 22-j接受

请注意,此示例中的目标端口(--dPort)为22,SSH的端口。

您还可以使用桌面工具system-config-firewall,如果可用,则从列表中选择要支持的服务。请记住,在使用此工具时,您以前的手动更改将被删除,所以如果需要重新应用它们,请首先保存它们。

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

#systemctl启用iptables.service

如果你需要从头配置iptables过滤表(即主表),你可以使用的规则可能包括以下命令:

  • iptables -f.刷新现有规则。
  • iptables -P INPUT DROP将INPUT链上的默认策略设置为DROP。这将为传入的数据包设置默认拒绝。
  • iptables -p向前下降在前向链上设置默认值以删除,但如果您的系统不充当路由器,则不太可能遇到任何数据包。
  • iptables -a输入-i lo -j接受所有进入loopback接口的数据包都将被接受
  • iptables -A INPUT -m state——state NEW,ESTABLISHED,RELATED -j ACCEPT接受作为已建立连接一部分的数据包

运行iptables命令后,可以使用iptables-save.命令保存在/etc/sysconfig/iptables配置文件中。

# iptables-save

在一个新的系统上,您的iptables规则可能会看起来像这样:

*过滤器:输入接受[0:0]:转发接受[0:0]:输出接受[0:0] -A input -M状态--State已建立,相关--jacever-a输入-p icmp -j接受-a input -i lo -jaceact-a input -j request  - 用icmp-host-thibited -a forward -j recket -reject-with-with-with-with-with-host禁止的提交

*过滤行标记筛选表的开始。下面的三行代码建立了三个链——INPUT、FORWARD和OUTPUT。

前三个——一个线路执行上述内容。第一个是接受已建立连接的规则。将其读取为“添加(-a)到输入链的规则,该规则将在连接状态匹配,如果建立连接状态,则会接受连接”。第二个接受ICMP请求。第三个接受在系统本身上生成的连接(即,来自环回接口)。

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

提交行结束了过滤器表的定义,并提交刚刚建立到内核的规则,即可使用它们。

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

 -i 接口 -m 匹配 -p 协议 -j 跳转到策略(接受,丢弃等)  - 使用识别拒绝类型  - 状态状态标识状态

Iptables并不像乍看起来那样难以理解或更新,但在编写规则时仍应小心,以免将自己锁在试图管理的系统之外。慢慢地、仔细地制定你的规则,你应该就可以了。

加入网络世界社区足球竞猜app软件Facebooklinkedin对自己最关心的话题发表评论。

版权所有©2012.足球竞彩网下载

IT薪水调查:结果是