Questions tagged «iptables»

iptables是用于配置Linux 2.4.x和2.6.x IPv4数据包过滤规则集的用户空间命令行程序。它针对系统管理员。请在询问有关iptables的问题时,添加以下命令的输出:iptables -L -v -n


1
Fail2ban jail.local与jail.conf
是否jail.local文件充当覆盖到jail.conf或作为替代,以jail.conf? 当我从教程中学习Fail2Ban时,大多数人通常会说要么将jail.conf复制到jail.local并在那里进行编辑,另一些人却说要创建一个新的jail.local文件并提供许多设置以进行复制并粘贴。但是他们没有解决的是jail.local如何与jail.conf一起工作。这些是两种情况: 覆盖:如果jail.local替代了jail.conf文件,那么我要做的只是将我想覆盖的必要配置添加到jail.conf中提供的默认配置中。在这种情况下,我不需要添加SSH配置等。因为它已经包含在jail.conf中。 替换:如果在存在jail.local时jail.conf变得无效,那么我需要在jail.local中添加所有规则,然后编辑要修改的规则。 当出现jail.local时,您能否确认jail.conf会发生什么?如果jail.local的行为只是jail.conf文件顶部的替代,那么对我来说,只需添加几行要添加的规则就容易了,这也使维护和可读性变得容易。最好的方法是什么?

4
使用iptables允许与特定IP之间的通信
我想允许所有流量使用iptables到特定的ip。 尝试通过添加行: /sbin/iptables -A INPUT -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT /sbin/iptables -A OUTPUT -p tcp -s XXX.XXX.XXX.XXX -j ACCEPT ...但是仍然无法访问远程IP(XXX.XXX.XXX.XXX)。 有什么建议吗? 在adv中tnx! 编辑:根据您的建议,我更改了iptables。仍然我无法连接到远程服务器。iptables状态看起来像这样: [root@myserver ~]# /etc/init.d/iptables status Table: nat Chain PREROUTING (policy ACCEPT) num target prot opt source destination Chain POSTROUTING (policy ACCEPT) num target prot opt source destination …
25 iptables 

4
iptables-目标将数据包路由到特定接口?
我的家庭服务器有两个主要接口,eth1(标准Internet连接)和tun0(OpenVPN隧道)。我想iptables强制UID 1002拥有的本地进程生成的所有数据包都通过退出tun0,而所有其他数据包都通过退出eth1。 我可以轻松标记匹配的数据包: iptables -A OUTPUT -m owner --uid-owner 1002 -j MARK --set-mark 11 现在,我想在POSTROUTING链(可能是mangle表)中放置一些规则,以匹配标记为11的数据包并将其发送到tun0,然后是匹配所有数据包并将其发送到的规则eth1。 我找到了ROUTE目标,但这似乎只重写了源接口(除非我读错了它)。 iptables有能力做到这一点吗?我是否必须弄乱路由表(通过ip route或仅通过旧route命令)? 编辑:我认为也许我应该提供更多信息。我目前没有其他iptables规则(尽管我将来可能会创建一些规则来执行无关的任务)。同样,输出ip route为: default via 192.168.1.254 dev eth1 metric 203 10.32.0.49 dev tun0 proto kernel scope link src 10.32.0.50 85.17.27.71 via 192.168.1.254 dev eth1 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.73 …
25 iptables  routing 

1
即使该端口被iptables阻止,运行服务器的Docker容器为什么仍将端口暴露给外界?
我在Docker容器中运行MySQL时遇到问题。我的测试映像是从以下Dockerfile构建的: # See: https://index.docker.io/u/brice/mysql/ FROM ubuntu:12.10 MAINTAINER Joni Kahara <joni.kahara@async.fi> # Because docker replaces /sbin/init: https://github.com/dotcloud/docker/issues/1024 RUN dpkg-divert --local --rename --add /sbin/initctl RUN ln -s /bin/true /sbin/initctl RUN apt-get update RUN apt-get upgrade -y RUN apt-get -y install mysql-server RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf RUN /usr/bin/mysqld_safe & \ …
24 iptables  docker 

3
在不重新启动的情况下添加iptables规则是否足够?
(Ubuntu服务器)我正在运行 sudo iptables -A INPUT -s 127.0.0.1 -j ACCEPT sudo iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 4/sec -j ACCEPT 然后 sudo iptables-save 要获得iptables规则的功能,仅执行上述命令就足够了(无需重新启动iptables)吗?
24 iptables 

2
traceroute是使用UDP还是使用ICMP或同时使用这两者?
当我从笔记本电脑上对www.google.com域进行跟踪时,我使用的是icmp还是udp? 我以为是icmp类型11,但是在搜索其他内容时,我遇到了使用icmp类型30的规则,并且看到了使用udp的规则。 有人可以向我解释这是如何工作的吗? 我正在为虚拟专用服务器使用防火墙(iptables)。


2
iptables中的“ policy ACCEPT”和“ policy DROP”是什么意思?
service iptables status在2个CentOS服务器上运行时, 一个服务器policy ACCEPT中 Chain INPUT,Chain FORWARD和 Chain OUTPUT 另一台服务器有policy DROP在 Chain INPUT和Chain FORWARD; 而 policy ACCEPT在Chain OUTPUT 什么意思policy ACCEPT和policy DROP? ......以及如何从改变policy ACCEPT到policy DROP和policy DROP到policy ACCEPT?

2
如何在Ubuntu中阻止除三个端口以外的所有端口?
如何封锁除1962、999、12020以外的所有端口? 一个用于SSH的端口,另一个用于一个脚本的端口。因此,有必要允许这些端口上的传出,对吗? 我的iptables: # Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012 *mangle :PREROUTING ACCEPT [643521:136954367] :INPUT ACCEPT [643521:136954367] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [645723:99904505] :POSTROUTING ACCEPT [645723:99904505] COMMIT # Completed on Sat Feb 25 17:25:21 2012 # Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012 …
22 ubuntu  iptables 

6
使用IPtables还是使用空路由将一百万个IP地址列入黑名单?
我遇到过这样一种情况:客户端需要将一组将近一百万个单独的IP地址(没有子网)列入黑名单,并且网络性能是一个问题。虽然我可以推测IPTables规则对性能的影响比对路由的影响要小,但这只是一个推测。 有没有人有任何确凿的证据或其他理由赞成使用IPTables或空路由作为将IP地址长列表列入黑名单的解决方案?在这种情况下,一切都是自动化的,因此易用性并不是真正的问题。 编辑11年11月26日 经过一些测试和开发,这些选项似乎都不可行。似乎路由查找和iptables都通过规则集进行线性搜索,并且处理这些规则花的时间太长。在现代硬件上,将100万个项目放入iptables黑名单会使服务器的速度降低到每秒约2打数据包。因此IPTables和空路由都消失了。 ipset,如Jimmy Hedman所建议的那样,将非常有用,除了它不允许您在一个集合中跟踪超过65536个地址外,因此,除非有人有任何想法,否则我什至无法尝试使用它。 显然,阻止这么多IP的唯一解决方案是在应用程序层中进行索引查找。不是吗 更多信息: 这种情况下的用例是阻止IP地址的“已知违规者”列表访问Web服务器上的静态内容。FWIW,通过Apache进行阻塞Deny from同样很慢(如果不是更多的话),因为它也进行线性扫描。 仅供参考:最终可行的解决方案是将apache的mod_rewrite与berkeley DB映射结合使用以对黑名单进行查找。伯克利数据库的索引性质使列表可以随着O(log N)性能进行扩展。


4
在庞大的环境中实现iptables管理
从一开始管理iptables并能够在本地服务器上进行编辑的最佳方法是什么。 我们需要在所有服务器上集中添加一些规则,但是我们有具有特定要求的特定服务器,这些服务器应具有自己的一组规则。 我想到了带有多个include的bash脚本,这些脚本通过ansible进行集中管理,并且包含在本地服务器上进行管理。这是好方法吗?也许还有更好的东西? 我们无法为ansible创建yml2模板,因为特定主机之间的差异太大。 请提供iptables集中管理的示例。
20 iptables  ansible 


1
iptables -A和-I选项之间的区别
我一直在尝试(几个小时)来配置iptables以允许对我的DNS服务器进行DNS查询,只是发现由于我一直在使用规则添加选项,我的iptables一直阻止访问。大多数论坛建议类似以下规则: iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT 但是,就我而言,我必须将规则更改为一种insert类型才能使其起作用: iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT 我知道一条规则是附加的,另一条规则是插入的,这两个术语都意味着什么,但是有人可以解释一下两者之间的区别以及何时使用哪个选项吗?我查看了Ubuntu的iptables怎么做,但是在那里没有看到太多信息。
20 linux  iptables 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.