Articles of iptables

为特定源端口和目标端口设置所有协议的iptables规则

是否有可能添加一个IPTABLES规则,允许所有协议的特定源端口和目标端口? 我尝试了以下,但它没有工作。 iptables -I FORWARD 1 -s 172.27.0.254/255.255.255.255 -d 0.0.0.0/0.0.0.0 -p 0 –sport 0:65535 –dport 1191:1191 -j ACCEPT iptables error: unknown option `–sport` 任何意见,不胜感激。

iptables的错误:没有链/目标/匹配的名称?

运行以下命令之后: iptables -t nat -I POSTROUTING -m state –state NEW -p tcp –dport 25 -o eth0 -m statistic –mode nth –every 5 -j SNAT –to-source 173.224.222.45 我得到以下错误: iptables: No chain/target/match by that name. 我正在运行这个命令来改变ips传出smtp连接postfix.This“173.224.222.45”是一个公共ip.I做这个testing目的的设置,所以不要责怪我的垃圾邮件。 我的系统是centos5 32位邮件服务器与后缀作为MTA。 你可以看一篇文章,我学会了这样做http://www.kutukupret.com/2009/11/30/postfix-smtp-outgoing-ip-rotator-using-iptables 。 请帮我解决这个问题。

这iptables规则禁止访问服务器使用https:// …:7777?

似乎没有明确指出7777端口是不允许从外部访问的,但问题是我只能通过https:// …:7777访问该主机,只有当我closuresiptables服务。 所以我的问题是,下面的规则集中的哪个规则只是禁止使用https:// …:7777访问我的主机? iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination RH-Firewall-1-INPUT all — anywhere anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination RH-Firewall-1-INPUT all — anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) target prot opt source destination ACCEPT all — […]

影响POSTROUTING链中或之后的出站接口select?

我有一个托pipe多个KVM实例的系统。 所有这些都连接到一个单一的桥梁(比如brvirt ),也连接到eth1 。 此第2层环境位于使用172.16.10.0/24进行地址更改的专用networking上。 系统上还有两个其他接口,我们称之为eth0 (10.10.10.10)和eth2 (10.10.20.20)。 通常情况下,外部连接通过SNAT提供给eth0的地址(主机的默认网关也在这个接口之外)。 对于某些系统 ,我需要在10.10.20.0/24networking上连接到eth2的显式1-1 SNAT规则。 这是一个问题,因为当我们点击POSTROUTING链来执行SNAT ,出站接口select已经完成。 内核已经select了默认路由(假设连接到除直接连接的networking之外的任何东西),这意味着当SNAT规则修改源IP地址时,本地路由基础设施会丢弃数据包,因为它始于错误的层2networking。 有没有办法解决? 我真正想要做的是在POSTROUTING链的结尾根据数据包的源地址做出路由决定……但是有一个很好的理由叫做POSTROUTING 。

用iptables打开SNAT或DNAT的openvpn端口转发?

我已经设法得到openvpn设置,并得到它发出静态内部ips给客户端。 现在我遇到的麻烦是我现在试图分配每个客户端的开放端口,因为他们现在有静态的内部IP它使它很容易准备添加规则。 遇到问题的地方在于如何通过iptables正确执行此操作。 客户端推送的内部静态IP 10.8.0.10例子将是有端口1234转发 我已经试过这个没有运气vpn使用udp和端口1194,但已经尝试了以下规则修改为udp和tcp,并在一起。 请注意vpn已经工作,并有伪装规则,但除此之外,iptables是空的。 iptables -t nat -A PREROUTING -p tcp –dport 1234 -j DNAT –to-destination 10.8.0.10 iptables -A FORWARD -s 10.8.0.10 -p tcp –dport 1234 -j ACCEPT 我也试过10.8.0.1是网关,10.8.0.10是客户端需要端口转发的所有端口 iptables -t nat -A PREROUTING -d 10.8.0.1 -j DNAT –to-destination 10.8.0.10 我试图完成2件事先能够转发每个客户端端口,如果需要的话,如果他们需要所有端口转发静态公共IP。 openvpn server.conf local 123.123.123.123 #- your_server_ip goes here port 1194 #- […]

iptables规则错误

我试图重新启动我的iptables服务,但它给我一个在我的iptables文件中的规则之一的错误。 iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: iptables-restore: line 15 failed [FAILED] 这是我的文件的样子: # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT […]

什么时候使用DNAT而不使用SNAT?

我想使用iptables将Ubuntu 12.04服务器上的端口2222转发到远程主机1.2.3.4端口22。 在阅读了许多关于端口转发的网页之后,我就问 $ sysctl net.ipv4.conf.eth0.forwarding net.ipv4.conf.eth0.forwarding = 1 $ sudo iptables -t nat -A PREROUTING -p tcp -i eth0 –dport 2222 -j DNAT –to-destination 1.2.3.4:22 哪个转发我想要的stream量。 但SSH不起作用。 原来我需要也提供 $ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 现在很好。 我明白上面的命令; 我不明白的是过多的网站给予第一个命令,没有给第二个。 第一个命令在什么条件下就足够了? 注意:仅给出DNAT命令的示例站点 。

iptables -P FORWARD DROP使端口转发缓慢

我有三台电脑,如下所示: box1 (ubuntu) box2 router & gateway (debian) box3 (opensuse) [10.0.1.1] —- [10.0.1.18,10.0.2.18,10.0.3.18] —- [10.0.3.15] | box4, www [10.0.2.1] 除此之外,我希望box2做NAT和端口转发,以便我可以做 ssh -p 2223 box2 到达box3。 为此我有以下iptables脚本: #!/bin/bash # flush iptables -F INPUT iptables -F FORWARD iptables -F OUTPUT iptables -t nat -F PREROUTING iptables -t nat -F POSTROUTING iptables -t nat -F OUTPUT # default […]

即使IPtables已停止,也无法连接

我的CentOS 5.8机器中有两个networking接口,一个使用本地IP,另一个使用公开的外部IP。 我正在运行SSH和其他一些服务。 如果我从同一本地networking中的其他机器连接到本机的本地IP,则可以访问这些IP地址。 但是,如果我从另一台机器连接到机器的外部公共IP,我不能进入。 即使我禁用IPtables防火墙service iptables stop ,它将无法正常工作。 有什么build议么? 我已经尝试禁用SELinux( setenforce 0 ),并通过添加端口到setup防火墙configuration。 我没有检查与netstat和SSH服务和其他服务正在监听0.0.0.0。

IPTablesinput规则由设备dosnt工作过滤

此规则工作(将数据包添加到队列中): iptables -A INPUT -p tcp -j NFQUEUE –queue-num 0 但是,这个规则dosnt工作(没有添加到队列中): iptables -A INPUT -m physdev –physdev-in eth1 -p tcp -j NFQUEUE –queue-num 0 任何想法为什么在inputdosnt添加数据包到队列? 没有额外的规则。 我跑了 iptables -X iptables -F