我知道iptables。 我知道ufw。 过去我一直在使用ufw,只是因为它更容易设置和使用。 但是,我应该使用哪一个? iptables更安全吗? 你是否更稳定? 我不知道,所以我在这里问。
我build立了包含两个接口eth0和tap0以太网桥接器br0 brctl addbr br0 brctl addif eth0 brctl addif tap0 ifconfig eth0 0.0.0.0 promisc up ifconfig tap0 0.0.0.0 promisc up ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 我的默认FORWARD链策略是DROP iptables -P FORWARD DROP 当我不添加以下规则的交通不通过桥梁。 iptables -A FORWARD -p all -i br0 -j ACCEPT 据我了解, iptables只负责IP层。 ebtables应负责过滤以太网桥上的stream量。 那么为什么我必须在iptable的FORWARD链中添加ACCEPT规则呢?
我的防火墙上有许多iptables规则,如下所示: iptables -A zone_lan_forward -p tcp -d 1.2.3.0/24 -j ACCEPT iptables -A zone_lan_forward -p udp -d 1.2.3.0/24 -j ACCEPT 有两个规则的快捷方式 – 一个用于TCP和一个用于udp – 每个地址? 我的意思是我可以做这样的事情: iptables -A zone_lan_forward -p tcp,udp -d 1.2.3.0/24 -j ACCEPT
当我学习iptables的时候,我犯了一些错误,把自己locking了。 你用什么方法来testing规则而不locking自己? 我正在使用Ubuntu的服务器12.04 LTS 以下所有的答案是有帮助的。 最后我使用了一些选项。 以防万一,这也有助于让IPMI访问您的远程服务器! 但理想情况下,在复制环境本地testing规则并首先进行testing。 在这方面,Vagrant有助于快速testing设置。
我正在运行CentOS 5.3,并希望禁用nf_conntrack模块来提高haproxy的networking性能。 我用一些简单的规则运行iptables。 我并不需要连接跟踪。 我正在Rackspace云服务器上运行,所以我无法运行自定义内核。 我试过运行modprobe,但是这是行不通的。 [mmarano@w1 w1]$ sudo modprobe -n -r nf_conntrack FATAL: Module nf_conntrack is in use. [mmarano@w1 w1]$ uname -a Linux w1.somewhere.com 2.6.24-23-xen #1 SMP Mon Jan 26 03:09:12 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux [mmarano@w1 w1]$ cat /etc/redhat-release CentOS release 5.3 (Final) 撕掉这个之后,我想继续运行iptables,所以我不能完全抛弃netfilter。 任何人有任何想法?
我有什么似乎是奇怪的,复杂的规则,目前为我工作。 有没有办法“导出”这些并将它们保存到一个文件,以便以后可以恢复,以防万一事情搞砸了?
为了防止对ssh的暴力攻击,我添加了一些iptables规则 (如下)。 问题是:如何列出被阻止的IP地址? (1) iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m recent –set –name SSH iptables -A INPUT -i eth0 -p tcp –dport 22 -m state –state NEW -m recent –update –seconds 60 –hitcount 8 –rttl –name SSH -j DROP
我正在尝试使用IPtables的TRACE目标,但我似乎无法获取任何logging的跟踪信息。 我想使用这里描述的: debugging器为Iptables 。 从iptables man for TRACE: This target marks packes so that the kernel will log every rule which match the packets as those traverse the tables, chains, rules. (The ipt_LOG or ip6t_LOG module is required for the logging.) The packets are logged with the string prefix: "TRACE: tablename:chain- name:type:rulenum " where type […]
我想要每个ip请求超过200个请求,以防止ddos攻击。 这是我用来检测每个IP请求计数的命令: netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr 现在我想添加所有IP地址,使超过200个请求到IPtables的DROPinput和输出。
以下情况:我们是一个为当地居民大厅pipe理互联网连接的学生,总共有大约2000名terminal用户。 我们有一个交通点系统,每个MB下载或上传成本点,新的点加小时。 目前,我们阻止用户的互联网访问,当他把所有的点(通过在我们的Debian网关路由器上的iptables中的放弃他的REJECT政策)。 我们只想限制用户的带宽。 什么是最好的方法来做到这一点? 简单的答案是设置用户的交换机端口(主要是Cisco Catalyst 3550s)的速率限制。 然而,这是不可取的,因为我们自己的networking和大学networking内的stream量应该是无限的。 是否有一种方法可以限制仅在具有特定目的地或源IP范围的数据包(在出口和入口都在Cisco IOS中)的带宽? 我找不到任何东西。 另一种方法是控制网关路由器上的stream量。 我想到了几个解决scheme: tc或tcng – 似乎都有一个相当神秘的语法,既不提供执行每IPstream量控制的好function。 对于这么多人来说,专用的QDisc可能会让路由器变慢。 而且,两者的文档都相当过时。 shorewall – 似乎有一个相当整齐的configuration语法,但是,我不确定它是否可以处理这个数量的stream量和用户,是否适合每个IPstream量限制 pfSense – 看起来像一个旨在用于我们的目的的操作系统。 但是,这将需要我们重新安装我们的网关路由器。 我们没有其他的BSD系统,pfSense需要非常好的stream量统计function(我们目前在那里使用fprobe-ulog和ulog-acctd)。 你有什么经验? 哪种解决scheme适合我们的需求,最容易维护? 你有其他想法吗? 如果您需要关于我们的系统的任何其他信息,请不要犹豫,问。 提前致谢。 编辑 :我用iptables和tc实现了系统。 每个用户都有一个/ 28个子网,一个VPN IP(来自10.0.0.0/8)和一个外部IP,全部通过一个iptables链来操纵。 这条链只有一个规则,一个简单的RETURN 。 每5分钟一个Python脚本读出这些规则的字节计数器。 它重置计数器并更新PostgreSQL数据库中用户的stream量点账户。 如果用户的点余额减less到某个阈值以下,则为该用户创build两个tc类(一个用于input,一个用于网关路由器上的输出接口),IP被input到属于这些类的tcfilter中。 这些课程由HTB限制速度。 与之前使用fprobe-ulog和ulog-acctd系统相比,字节计数由iptables完成的速度要快得多。 networking速度已经为我们的用户大大改善。