Articles of iptables

修改iptables规则和默认策略,但保持端口转发

我的防火墙脚本最后有以下规则和策略: $IPT=/sbin/iptables … $IPT -P FORWARD ACCEPT $IPT -F FORWARD # Forward port 2206 to data6 $IPT -A INPUT -i eth1 -s 192.168.1.0/24 -d 6X.XXX.XXX.YY7 -p tcp –destination-port 2206 -j ACCEPT $IPT -t nat -A PREROUTING -p tcp –dport 2206 -j DNAT –to-destination 192.168.1.2:22 # accept port 22 for the machine 192.168.1.2 $IPT -A FORWARD […]

新的iptables规则只影响新产生的进程

有没有办法更新iptables规则来阻止连接,而无需重新启动它? 这是我想要避免的行为的一个例子: On shell#1: I start a ping command 8.8.8.8 On shell#2: I block ping command with iptables rules. On shell#1: The ping command is still working and I get replies from 8.8.8.8, but if I end the ping command and I restart it, now it will not work. 我想知道是否有办法阻止ping命令,而不需要重新启动它。

丢弃与firewalld centos的IP黑名单7

问题1 我有我很长的列表1500+ ips在一个文件可以说/etc/blocklist.ips每个IP在一行的文件。 我怎样才能从文件中的每个IP与从centos 7 firewalld? 我也一直在寻找/ firewald文件夹中的.xml文件,所以这意味着我应该在.xml文件中创build我的阻止列表? 问题2 Bevering Firewalld停止doens't意味着用firewalld创build的规则是不是在iptables的权利? 问题3 Flushing iptables也将删除firewalld上的所有内容?

telnet无法连接到没有防火墙的端口

如果我尝试连接到MySQL telnet myhost.com 3306 我得到一个network not reachable错误,即使我刷新所有的iptables规则。 我可以到达其他端口,如ssh (与ssh相同的iptables规则适用)。 以下是我在netstat看到的。 这给我的印象是有更多的访问端口比iptables :端口像10025在我的iptablesclosures。 我看到MySQL打开tcp但不是tcp6(ssh打开两个)。 这个问题从Ubuntu服务器12.04升级到14.04之后开始。 任何有关连接超时的build议? $ netstat -tlp 3306 (No info could be read for "-p": geteuid()=1000 but you should be root.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:pop3s *:* LISTEN – tcp […]

当iptables被configuration为丢弃stream量时,为什么端口443(但不是端口80)暴露给nmap?

Debian框在端口80和443上运行Web服务,并且iptables被configuration为只允许来自白名单的IP地址的Web通信。 第二个Debian框(未列出白名单)正在使用nmap对Web服务器运行端口扫描,并正确显示所有端口都已closures,但nmap扫描结果有时包含以下内容: sendto in send_ip_packet_sd: sendto(4, packet, 44, 0, XXXX, 16) => Operation not permitted Offending packet: TCP XXXX:53268 > XXXX:443 S ttl=43 id=46849 iplen=44 seq=955188003 win=1024 <mss 1460> 扫描结果中不会提到端口80 – 仅端口443。 为什么端口443(但不是端口80)暴露给nmap?

iptables规则匹配的mac地址失败

为什么以下简单的IPtable规则不起作用? iptables -A INPUT -s 192.168.1.88 -m mac –mac-source 00-27-0E-33-4B-B2 -j DROP 其实我想要反转这个比赛。 像这样的东西: iptables -A INPUT -s 192.168.1.88 -m mac ! –mac-source 00-27-0E-33-4B-B2 -j DROP 由于我在那里得到一个错误,我试图删除! 只是为了看看我是否在语法错误的位置! 我看到这个问题是不相关的! 因为删除它并没有帮助。 我得到的错误是: iptables v1.4.21: ether Try `iptables -h' or 'iptables –help' for more information.

在KVM主机上configurationIPTables,使虚拟隔离networking上的数据包丢失

我有两个KVM来宾,都连接到KVM虚拟隔离networking(称为virbr1 ,地址空间10.0.0.0/24 )。 为了testing路由解决scheme,我想模仿客户之间物理链路的故障。 为此,我在KVM主机上插入iptables规则: iptables -A OUTPUT -s 10.0.0.0/24 -j DROP 但它并不阻止交通。 主机上的tcpdump仍然在10.0.0.0/24networking中显示数据包。 我的下一个尝试是将所有数据包丢弃到虚拟网桥: iptables -m physdev -A OUTPUT –physdev-in virbr1 -j DROP 但客人继续交换数据包,并在主机上显示tcpdump -i virbr1stream量。 为什么没有被主机丢弃? 总的来说,这是testing物理链路故障的合适解决scheme吗?

开始学习IPtables,为什么我需要这个规则?

我一直在阅读关于IP表的一整天,规则是如何工作的,基本的web服务器的规则集等等。现在我正在尝试使用这个线程来configuration我的web服务器,使用这个线程作为出发点: 良好的iptables服务器启动规则? 既然我不想复制粘贴任何有用的东西,我只是按规则添加规则,并考虑每个规则,为什么我会需要它。 我来发现,我基本上需要通过端口80,443,22,587(邮件服务器)访问。 但是,添加这些规则后,我无法通过域访问我的网站。 所以我比较我提到的线程,我发现我没有这个规则: # Allow traffic already established to continue iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT 所以我添加了这个规则来testing事情,突然之间我可以访问我的网站。 然后我想,也许这是因为我已经连接到这个IP的网站,但如果我通过其他IP /networking连接,我仍然可以访问我的网站,依赖于这个规则。 因为我想了解这一点,我真的不明白为什么访问我的网站是依赖于该规则。 已经有一个规则,允许通过端口80(这是我的networking服务器端口上运行的端口)传入stream量,但只是显示规则是不够的? PS,这是我现在打开80端口的规则: target prot opt source destination ACCEPT tcp — anywhere anywhere tcp dpt:http 我希望有人能够阐明这个规则,为什么我可以用这个规则访问我的网站,而不是没有。 编辑:我得到为什么要添加这个规则,我认为它会加快的事情,因为它不必再经历所有其他规则,但我只是想了解为什么在我的情况下,这是至关重要的规则为了访问我的网站.. 谢谢!

基于DNS名称的NAT路由(反向TCP代理?)

介绍 我有一个路由器,运行pfSense(可以是任何东西,因为它是VMware上的一个虚拟机,所以如果解决scheme需要其他东西,我没事),在它后面有多个虚拟机(NAT)。 我想完成什么 我想使用某种types的代理来使用具有1个IP的多个服务,最好基于DNS。 例如; 在mail.domain.com上运行一个邮件服务器(和webaccess的网站),在www.domain.com上运行一个网站,并在ftp.domain.com上运行一个FTP服务器,但都是不同的虚拟机。 所以基本上: Hostname Internal NAT IP Port www.domain.com 192.168.1.10 80 mail.domain.com 192.168.1.11 25 mail.domain.com 192.168.1.11 80 mail.domain.com 192.168.1.11 443 ftp.domain.com 192.168.1.12 21 所以我想使用HAProxy,但HAProxy只允许HTTP通信,而不是“常规”TCP通信(基于DNS名称)。 我想要所有的端口(包括TCP和UDP,但是如果TCP是唯一可能的,那么也可以)redirect到相应的虚拟机。

configurationCentOS 6 iptables使用端口80运行在端口3000上的NodeJS应用程序

我正在使用AWS运行一个CentOS 6的新实例。 iptables中有一些东西阻塞了我的nodejs应用程序。 这是我的nodejs应用程序: var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello World!'); }); var server = app.listen(3000, function () { var host = server.address().address; var port = server.address().port; console.log('Example app listening at http://%s:%s', host, port); }); 按照这个指南 ,我尝试用下面的命令为我的应用添加一个条目: sudo iptables -t nat -A PREROUTING -i eth0 -p tcp […]