Articles of iptables

澄清在Linux内核的Netfilter部分深度包检测

Linux内核提供Netfilter作为NAT和防火墙function的机制。 这两种function都需要对传入数据包进行分析和分类,这被称为“状态数据包检测”。 对于大多数stream量来说,查看IP数据包头是足够的。 但是,像FTP,IRC,H.323(以及更多)的协议在内核configuration中都有特定的模块,以便为这些数据包提供正确的NAT穿越。 在内核中,这些被称为“conntrack模块”。 现在,我的理解是检查这些数据包的有效负载,以便netfilter能够识别外部连接何时到达并需要路由到相应的客户端。 这是因为协议期望在OSI层7上发送的信息直接影响在第3层上发送的实际IP分组。换句话说,应用程序代码导致创build另一个TCP连接,该连接必须由NAT设备。 现在我的问题: 为什么这个地方没有(好吧,我只是做了一个快速的谷歌search)标签为深度包检测? 鉴于在GNU / Linux上运行的大量塑料路由器设备,在深度包检测被认为是非法的地区,这可能是一个合法的问题吗? 想到有关networking中立性和stream量机密性的可能的规定,可能会影响networking服务提供商,他们希望为客户提供更好的服务,并且需要在特定的环境中使用NAT。

iptables NAT不适用于来自dummynet的数据包

我有一个安装,我有主接口( eth0 )的多个接口别名(与私有IP)。 eth0 Link encap:Ethernet HWaddr 0a:ed:01:17:53:b4 inet addr:10.0.1.220 Bcast:10.0.1.255 Mask:255.255.255.0 eth0:0 Link encap:Ethernet HWaddr 0a:ed:01:17:53:b4 inet addr:192.168.1.1 Bcast:0.0.0.0 Mask:255.255.255.0 eth0:1 Link encap:Ethernet HWaddr 0a:ed:01:17:53:b4 inet addr:192.168.1.2 Bcast:0.0.0.0 Mask:255.255.255.0 我将这些别名分别应用于不同的networking整形策略。 为了使绑定到每个私有IP的进程能够与Internet通信,我使用iptables作为NAT来伪装IP地址到eth0的IP地址 iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth0 -j MASQUERADE 这很好。 如果我看到stream量离开eth0 ,我可以看到源IP已经正确更改。 # Send pings using eth0:0 ping -I 192.168.1.1 www.google.com […]

iptables的。 有没有办法redirect(dnat)一个特定的(匹配)数据包?

请需要你的帮助! 我想redirect一些特定的数据包,我标记根据一些string,但出了问题:(有我的规则… iptables -t mangle -A PREROUTING -p tcp –dport 502 -m string –algo bm –hex-string '|06|' -j MARK –set-mark 0x1 iptables -t nat -A PREROUTING -p tcp -m –mark 0x1 -j DNAT 192.168.1.22:555 但我只看到规则第一工作,第二个不是:(先谢谢你的帮助任何一种!

将ip的出站连接redirect到ip

我使用的应用程序。 现在,我希望该应用程序的出站连接将redirect到另一个IP,以便它不会回到该应用程序。 我将如何使用iptables做到这一点? 我将如何知道该应用程序的IP? Ps我刚刚开始使用android几个月前,我的手机是根植,即时通讯新的iptables和其他根需要的应用程序。 任何帮助将不胜感激。 谢谢! 对不起,我的英语不好。

如何configurationLinux防火墙以允许Exchange Server ActiveSync直接推送在没有警告的情况下工作

我在我们的KB905013 (见下文)中描述的Exchange 2003 SP2服务器上遇到EventID 3033“Server ActiveSync”警告事件,显然是由于防火墙超时。 Exchange服务器位于基于Red Hat Enterprise Linux 5.4 iptables的防火墙的后面,但我不知道要检查什么设置,以确保HTTP(S)超时设置为至less15分钟,如文章中所述。 任何人都可以告诉我,哪些设置是影响iptables防火墙超时在Linux中,以及如何改变它们? 事件日志错误如下: Event Type: Warning Event Source: Server ActiveSync Event Category: None Event ID: 3033 Date: 08/10/2009 Time: 10:42:35 User: <REMOVED> Computer: <REMOVED> Description: The average of the most recent [200] heartbeat intervals used by clients is less than or equal to [540]. […]

iptables,nat和局域网中的服务器

我有几个IP地址,XYZA – XYZD,在一个接口(eth1) XYZA是我的网关,有NAT。 这工作。 我想从外部访问我的LAN(eth0)(QWER)中的一台计算机,从XYZB ip。 我尝试了以下规则: iptables -t NAT -A PREROUTING -d XYZB -j DNAT –to-destination QWER iptables -t NAT -A POSTROUTING -s QWER -j SNAT –to-source XYZB 没有成功。 打开浏览器并键入XYZB仍然显示我的防火墙Web服务器,RDP超时。 谁能告诉我,怎么做?

如何使用virtualbox模拟主机作为路由器的子networking?

我目前正在使用iptables和tc在Linux上使用QoS路由器function。 我想使用virtualbox来模拟我的路由器上的电脑插件(路由器将是主机) 从物理上讲,我具有到WAN的eth0接口,我想创build一个虚拟接口eth1,在这里插入我的虚拟机(虚拟机的IP为192.168.1.10,eth1的IP为192.168.1.1) 像这样,我可以使用tc和iptables来尝试我的QoS路由器function。 你能帮我configuration这个M吗? 谢谢。

使用静态IP池中的随机IP进​​行传出通信

我有一个Linux机器上运行多个Windows VBoxes。 linux机器有20个静态真实IP地址,全部在eth0上。 VBoxconfiguration为使用NAT,它使用Linux机器上设置的默认网关IP地址访问Internet。 这就是问题所在。 我希望每个VBox使用不同的IP从20个IP池(不pipe是随机还是分配)访问互联网,而不是在Linux框中设置默认网关。 任何想法如何做到这一点? 我已经尝试过,不工作是使用VBoxManage来照顾这个事情按照VBox文档… VBoxManage VBoxInternal / Devices / pcnet / 0 / LUN#0 / Config / http / BindIP“203.203.203.203” 这是行不通的。 我想我可能不得不在Linux上使用iptables命令进行configuration,以便IP路由链对所有出站stream量或多个默认网关使用随机IP或类似的东西。 更新1:因为这是一个租用的服务器,我没有访问路由器。 Windows VBox使用的DHCP由运行在Linux上的VirtualBox应用程序安装和pipe理,该应用程序仅适用于VBox。 更新3:raerek提供了使用网桥而不是NAT的解决scheme。 我发现设置桥接networking并不像“只从droplist中设置”那么简单。 我可能需要在Linux机器上安装或configuration驱动程序。 虽然我仍然在检查它,但任何能够保持NAT(正常工作)并仍然能够使用池中的IP的解决scheme都将受到欢迎。

iptables和snatting到不同的networking

linuxbox (pqrt) | | INTERNAL —— ABCD —– INTERNET (pqrs) (mnok) ABCD有3个接口连接到linuxbox,INTERNAL N / W,INTERNET。 Linuxbox有一个私有地址(pqrt)。 目前我在ABCD上从linuxbox到INTERNET抓包。 我有一个关于FTP从linuxbox的小疑问,因为我必须支持ftp从linuxbox到INTERNAL N / W以及互联网。 我怎样才能纠正一个在ABCD中存在的iptables的规则,在那里它可以决定ftp服务器的目的IP地址是否在INTERNAL N / W之内,或者在INTERNET里面,然后做相应的处理。

关于虚拟专用服务器中的端口

您好我买了我的第一个虚拟专用服务器,主要是为了了解如何pipe理服务器。 我没有在我的iptable任何条目,这是完全开放的,但我仍然不能到我的服务器在其他80,21等端口。例如,我把httpd.conf中的端口从80改为90,然后从外部主机尝试连接到http:// mywebsite:90 ,它不工作。在本地主机(即通过SSH壳),我能telnet到本地主机90,但只能从外面不工作。 CentOS除了iptables还有其他的防火墙吗? 通常VPS提供商也阻止某些端口。 我有一个独特的IP,因为我会在互联网上完全开放的印象。 作为我的VPS的一部分,有一个HYPERVM控制面板,但我找不到任何选项来打开端口。 –ADDED —这是我的输出iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 关于Apache我只是改为90来testing它是否工作。 我通过改听80来听90.当听80的时候,它工作的很好。 实际上,当我无法访问运行在端口10000上的webmin时,我发现这个问题。所以我只是在apacha中更改来确认它。