任何人都可以帮我找出这里发生了什么? 我有一些规则设置跟踪数据包计数。 当我以root身份运行以下脚本时: #!/bin/bash iptables -t mangle -xnvL 我得到我期望的输出: //snip 233203 199929802 MARK //blah blah blah //snip 不过,我想运行这个作为cacti的一部分,它作为apache运行。 现在Apache不能运行iptables, 这就是为什么我有脚本。 我把它设置为SUID根 : -rwsr-sr-x 1 root root 37 May 14 23:06 iptables_packet_report.sh 但是,然后我得到这个输出: server # sudo -u apache ./iptables_packet_report.sh iptables v1.4.2: can't initialize iptables table `mangle': Table does not exist (do you need to insmod?) Perhaps […]
命令iptables在定义规则时不再识别最常用的选项之一:– –dport 。 我得到这个错误: [root@dragonweyr /home/calyodelphi]# iptables -A INPUT –dport 7777 -j ACCEPT_TCP_UDP iptables v1.4.7: unknown option `–dport' Try `iptables -h' or 'iptables –help' for more information. 上面的添加规则命令只是启用Terraria连接的一个示例。 这里是我现在作为一个准系统的iptablesconfiguration( listiptables别名iptables -L -v –line-numbers ),很明显,– –dport已经在过去工作: root@dragonweyr /home/calyodelphi]# listiptables Chain INPUT (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source […]
我的networking已完全locking,只有less数网站列入白名单。 这一切都是通过iptables完成的,如下所示: # Allow traffic to google.com 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 iptables -A zone_lan_forward -p tcp -d 11.12.13.0/24 -j ACCEPT iptables -A zone_lan_forward -p udp -d 11.12.13.0/24 -j ACCEPT iptables -A zone_lan_forward -p tcp -d 101.102.103.0/24 -j ACCEPT iptables -A zone_lan_forward […]
我在隧道模式下使用IPSEC。 如何使一个iptables规则只匹配通过IPSEC隧道到达的数据包(即在 IPSEC解密之后 ,IPSEC数据包到达之前和解密之前)。 关键是要有一个特定的港口,只有通过IPSEC才能进入,世界其他地方无法进入。
在我的Debian 5.0服务器上,我设置了一些如下的iptables规则: ACCEPT tcp — eee.fff.ggg.hhh aaa.bbb.ccc.ddd tcp dpt:80 DROP tcp — 0.0.0.0/0 aaa.bbb.ccc.ddd tcp dpt:80 aaa.bbb.ccc.ddd是我的服务器的IP地址,而eee.fff.ggg.hhh是唯一允许访问端口的服务器。 我注意到我的服务器上有inet6 addr setup,netstat也显示apache2正在监听tcp6地址: tcp6 0 0 :::80 :::* LISTEN 我需要ipv6地址分开的iptables规则? 如果是这样,我该怎么办? 我对ipv6一无所知。 谢谢! 我必须这样做吗? 如果我不使用ip6tables,是否会绕过iptable规则并通过ipv6地址连接到我的:80端口?
我是一个总有关服务器的新手,所以原谅我谦虚的问题:-) 有人为我开发了一个作为web服务器的python应用程序。 此TCP应用程序需要侦听端口8080。 [root@blabla jll]# netstat -tanpu | grep ":8080" tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 18209/python 看来8080没有在我的服务器防火墙上打开。 要打开它,我尝试修改这样的iptables规则: /sbin/iptables -A RH-Firewall-1-INPUT -i eth0 -p tcp –dport 8080 -j ACCEPT 但是,我仍然没有在http://my.server.name:8080 。 (我甚至不确定“RH-Firewall-1-INPUT”或“INPUT”) 我现在能做什么 ? 有这种事情的一般程序吗? 我给你下面的有用的信息: /sbin/iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source […]
我已经在很多网站上看过如何使用iptables在Linux中将一个端口重新路由到另一个端口。 例如,重新路由端口80到8080看起来像这样… iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to 8080 我担心的是,如果我改变了主意呢? 我没有阅读任何地方给出纠正它的语法。 我认为有一个(简单的)方法来做到这一点,但是我在Linux上太新了,直觉地想出如何在不重新安装操作系统的情况下将端口80恢复到原来的行为。
我希望iptables只过滤一个面向WAN的接口eth0。 如何才能做到这一点? 我想保持在eth0上打开ftp和ssh端口。
我正在用iptablesconfiguration一个Linux路由器。 我想写一些validationtesting来确认这样的configuration: 互联网上的一些家伙的stream量不会被转发 转发到公司LAN上的主机在DMZ中的Web服务器上的端口80。 一个古老的常见问题提到了一个iptables -C选项,它允许有人问这样的问题:“给定一个从X到Y的包,在Z端口,它会被接受还是被丢弃? 虽然常见问题解答表明它是这样工作的,但对于iptables (但可能不是ipchains因为它在示例中使用) -C选项似乎不模拟testing数据包运行通过所有规则,而是检查存在一个完全匹配规则。 这个testing没有什么价值。 我想断言规则具有预期的效果,而不仅仅是存在。 我已经考虑过创build更多的testing虚拟机和虚拟networking,然后用像nmap这样的工具来探索效果。 但是,由于创build所有这些额外的虚拟机的复杂性,我避免了这个解决scheme,这实际上是一个非常繁重的方式来产生一些testingstream量。 有一个自动化的testing方法也可以,这个方法也可以在真实的服务器上运行。 我还能怎样解决这个问题? 有什么机制可以用来生成或模拟任意stream量,然后知道是否(或将)被丢弃或被iptables接受?
我想弄清楚如何跟踪来自Docker容器的带宽。 通常我使用–uid-owner作为标记来跟踪给定用户的带宽使用情况。 但是,即使当我运行所有的进程作为docker容器内的用户–uid-owner不起作用。 而不是使用–uid-owner ,我试着跟踪所有来自docker创build的虚拟以太网设备的数据包。 然而,这最终也没有做任何事情:不pipe我尝试什么,都没有发现数据包。 绝望之余,我试着把规则放在所有的链条上,但都没有结果。 Chain PREROUTING (policy ACCEPT 3041 packets, 7849454 bytes) num pkts bytes target prot opt in out source destination 1 0 0 MARK tcp — veth5a36 any anywhere anywhere MARK set 0x1 Chain INPUT (policy ACCEPT 273 packets, 23305 bytes) num pkts bytes target prot opt in out source […]