Articles of iptables

用Shorewall路由到二级局域网

我正在设置Shorewall(4.4.26.1),并且一直试图弄清楚下午大部分时间在两个LAN段之间的路由。 现在是时候寻求帮助了。 ((INTERNET)) | | [shorewall] | | | | (LAN1) (LAN2) 我有三个NIC:WAN(Internet),LAN1和LAN2。 WAN到LAN通过NAT进行入站,通过DNAT进行出站(在masq中进行设置)。 LAN2不应该(现在也不能)访问互联网,但它应该可以从LAN1访问。 我目前能够从防火墙到LAN2,但不能从LAN1的服务器(这是问题)。 必要的规则已经到位,但显然路由不起作用(当我禁用防火墙规则时,在LAN1上的服务器上,SSH连接上立即出现“连接被拒绝”;当启用规则时,SSH挂起并且traceroute不会超越防火墙)。 LAN1位于172.0.0.0地址空间,LAN2位于10.0.0.0地址空间。 我目前有: $LAN2_IF 10.0.0.0/24 ..在masq中,但这是行不通的($ LAN2_IFparsing为eth2这是LAN2接口)。 我的问题是: 什么是最简单的Shorewallconfiguration转发两个不同地址连接到单独的NIC网段之间的stream量? 指向文档或其他参考的指针会有所帮助,但是一个简单的configuration示例会更好。 我一直在浏览有关Shorewall文档的路由,但还没有find匹配的描述(例如,我宁愿不必桥接LAN接口,因为它们需要保持分离:LAN2应该不能访问互联网或LAN1)。 感谢您的任何build议!

通过SSHconfigurationiptables而不被locking?

我需要通过SSHconfiguration服务器,并在此过程中configurationiptables 。 更确切地说,我想按以下顺序运行以下命令: iptables -F iptables -P INPUT DROP iptables -A INPUT -i lo -p all -j ACCEPT iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT iptables -A INPUT -p tcp -m tcp –dport 25 -j ACCEPT iptables -A INPUT -p tcp -m […]

OpenVPN TLS密钥协商失败

我已经安装了我的OpenVPN服务器和客户端, 上个月它工作的很完美 。 但是,现在我无法连接到服务器没有任何configuration更改。 这里是无声的日志(Win7): Mon Feb 18 08:26:06 2013 NOTE: OpenVPN 2.1 requires '–script-security 2' or higher to call user-defined scripts or executables Mon Feb 18 08:26:06 2013 Re-using SSL/TLS context Mon Feb 18 08:26:06 2013 LZO compression initialized Mon Feb 18 08:26:06 2013 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 […]

iptables在我的AP中丢弃ACK FIN包

我在我的Ubuntu机器上使用iptables有一个访问点。 该机器有eth0和wlan0桥接形成接口br0。 eth0和wlan0之间不应该有任何防火墙,我希望stream量能够自由stream畅地stream动。 如果stream量在eth0或wlan0处停止,则防火墙将启动 所以我在iptables中尝试了这个代码。 $IPTABLES -N RULE_3 $IPTABLES -A FORWARD -m physdev –physdev-is-bridged –physdev-in eth0 –physdev-out wlan0 -m state –state NEW -j RULE_3 $IPTABLES -A FORWARD -m physdev –physdev-is-bridged –physdev-in wlan0 –physdev-out eth0 -m state –state NEW -j RULE_3 $IPTABLES -A RULE_3 -j LOG –log-level info –log-prefix "RULE 3 — ACCEPT " $IPTABLES -A […]

无法启动iptables服务

我收到这个奇怪的错误: 服务iptables启动iptables:应用防火墙规则:iptables-restore v1.4.7:无法加载匹配“TCP”:/ lib64 / xtables-1.4.7 / libipt_TCP.so:无法打开共享目标文件:没有这样的文件或目录 错误发生在行:18尝试`iptables-restore -h'或'iptables-restore –help'以获取更多信息。 [FAILED] 我已经从FTP更改了规则文件。 规则文件如下: # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT – [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j […]

iptables INPUT防止传出邮件和ping

我对INPUT标准政策设置为DROP 。 但是,由于这种设置,我无法连接到外部邮件主机。 我需要什么规则才能连接到这个外部主机。 请注意, ping也不起作用,虽然这只是为了testing的目的(它不需要工作,但可能有助于find根本问题)。\ 编辑 [root@webshop ~]# iptables -L -v -n Chain INPUT (policy DROP 150 packets, 18963 bytes) pkts bytes target prot opt in out source destination 378K 178M ACCEPT all — * * xxxxxxxxxxxxx 0.0.0.0/0 0 0 DROP tcp — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:56988 state NEW recent: UPDATE seconds: […]

在Ubuntu服务器上的ipv6 – 我该如何保护?

在我们的Ubuntu服务器上,启用了ipv4&ipv6。 我们已经采取了这些步骤。 启用iptables&ip6tables 完全从我们的iptables到ip6tables复制规则 我们是否需要对ip6tables进行额外的调整? 假设我们的服务器为ipv4加强了,我们是否需要对ipv6进行额外的修改?

在shell脚本中的iptables块之间添加睡眠/延迟

在一台服务器上,我们试图阻止中国的访问。 我们希望用iptables而不是通过.htaccess来实现。 但是,我们遇到的问题是,当一次添加多个iptables(我们在这里讨论1000多个ip中国子网)时,会出现一个错误(错误“iptables:Unknown error 18446744073709551615”,然后所有其他的会失败),这意味着我们必须iptables -F为了继续添加这些规则。 一些testing的结论是,这个问题似乎是当试图一次运行很多(甚至一次10多个似乎抛出错误),而不是服务器只是不喜欢一些特定的规则。 所以我想知道,如果试图在每个iptables规则运行之间添加一个睡眠(或其他一些延迟),可能会改善这个过程? 我们已经尝试过多种实现这些iptables的方法,但是如果可能的话,我们希望使用下面的nixCraft中的脚本 。 #!/bin/bash ### Block all traffic from AFGHANISTAN (af) and CHINA (CN). Use ISO code ### ISO="af cn" ### Set PATH ### IPT=/sbin/iptables WGET=/usr/bin/wget EGREP=/bin/egrep ### No editing below ### SPAMLIST="countrydrop" ZONEROOT="/root/iptables" DLROOT="http://www.ipdeny.com/ipblocks/data/countries" cleanOldRules(){ $IPT -F $IPT -X $IPT -t nat -F $IPT -t nat -X […]

将iptables链从基于端口改为基于ip

我正在努力限制对新的XenServer 6.2安装的访问。 盒子上的默认iptables规则有一个RH-Firewall-1-INPUT链,它向外界公开了很多。 没有通过和添加-s <ip range>到每个规则(有很多)是否有办法添加ip范围默认所有的规则? 从历史上看,我使用INPUT DROP和FORWARD DROPbuild立iptables,然后打开所有的内部networking,然后用-j REJECT忽略其余部分。 XenServer规则似乎更复杂一些,并且有一个不经意的iptableslocking会是一件坏事。

IPTables和SNAT只有两个端口

我想设置一些NAT策略,以便某些机器只能出站访问http / https。 他们不应该能够进行端口扫描或从他们的机器的其他任何东西。 目前我的NAT规则是: -A PREROUTING -d 1.2.3.4 -j DNAT –to-destination 10.10.1.10 -A POSTROUTING -s 10.10.1.10 -j SNAT –to-source 1.2.3.4 我有这个共同的规则: -A POSTROUTING -o eth0 -j MASQUERADE 1.2.3.4是公共IP,10.10.1.10是内部IP。 这允许直接通过所有入站和出站访问NAT。 我尝试了以下的POSTROUTING规则而不是上面的规则: -A POSTROUTING -s 10.10.1.10 -p tcp –dport 80 -j SNAT –to-source 1.2.3.4:80 但是,这似乎并不奏效。 添加规则后,我仍然可以从工作站使用RDP。 回顾一下,我的目标是让某些工作站只能通过http / https访问Internet。 所有其他出站stream量应该被阻止。 所有的交通应该被允许。 我希望networking中的所有其他工作站都使用现有的NAT策略,以允许所有出站stream量进行NAT。 更新根据@ Zoredache的回复,我现在有以下的出场规则。 -A POSTROUTING […]