我试图在Debian(Wheezy)下使用IPtables设置一些规则,并且遇到了一些我认为的问题。 INPUT的策略设置为DROP。 这是否放弃一切基于我放入INPUT的规则,或者它是一些路由器中的标准ACL列表,这意味着所有不符合语句(如果它们设置为ACCEPT)将导致DROP? 以此为例: Chain INPUT (policy DROP) target prot opt source destination ACCEPT tcp — anywhere anywhere tcp dpts:ftp-data:ftp 这些ftp-packet会丢失还是会被接受,其他的一切都会丢失? 我希望我不会把它搞乱。
我在UDP洪水攻击下。 我用下面的保护来解决它: iptable IP禁令: iptables -I INPUT -s 37.187.231.xxx -j DROP 试过另一个iptable语法 /sbin/iptables -I INPUT -i eth0 -s 37.187.231.xxx -j DROP 试图限制UDP数据包: iptables -A INPUT -p udp -m udp –dport 0:65535 -m state –state NEW -m recent –update –seconds 1 –hitcount 10 –name UDP –rsource -j DROP 完全禁用的UDP数据包: iptables -A INPUT -p udp -j DROP […]
我接pipe了20个左右的Linux环境的pipe理职责。 试图使用Puppet来整合configurationpipe理。 大多数是直截了当的,但是我偶然发现了防火墙规则。 以前的pipe理员依靠一个自定义的脚本,为通用模板中的每个框创build了iptables规则。 模板规则如下所示: hostname: Action Interface Source Protocol destPort 一些例子: ALL: Accept eth0 any tcp 80 server4: Accept All xxxx/24 tcp/udp 111 node5: Deny All yyyy 所有规则适用于所有的框。 其余的参数被用来填充iptables规则。 模板中约有250条规则。 是否有可能通过puppet重新使用这个通用模板,并为每个节点构buildiptables规则集? 这种文字是否可以用傀儡破坏?
我试图找出这些iptables规则实际上做了什么,但我不是很有经验。 这是两条规则: iptables -A INPUT -p tcp –syn –dport 80 -m connlimit –connlimit-above 20 –connlimit-mask 16 -j REJECT –reject-with tcp-reset iptables -A INPUT -p tcp –syn –dport 443 -m connlimit –connlimit-above 20 –connlimit-mask 16 -j REJECT –reject-with tcp-reset 我一直在试图谷歌这个为我自己,但我不完全确定。 我的理解是,这些规则适用于在特定端口(本例中为HTTP和HTTPS)上使用TCP协议到服务器的传入连接,并拒绝在特定时间段内发送超过20个的IP地址。 但是我不明白以下属性究竟做了什么或者REJECT是如何工作的。 –syn – 限制在20以上 –connlimit-mask 16 拒绝 – 拒绝 – 用tcp-reset 限制适用的时间范围是什么,这些IP地址是什么时候被阻塞,如果是这样,持续了多久?
在使用iptables设置我的规则并检查一切正常后,我还为IPv6地址设置了相同的规则,并注意到我无法连接到任何服务器的IPv6地址和端口。 默认策略是DROP除手动允许的端口之外的所有内容。 规则如下所示: -P INPUT DROP -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT … 说实话,我用iptables和ip6tables运行这些命令,而一切工作正常与IPv4,我不能通过IPv6从外部连接。 我应该允许IPv4不需要额外的IPv6吗?
我试图设置一个iptables的规则,将阻止通过SSH本地远程转发连接访问SSH远程转发连接。 所以,IOW: 客户端A连接到服务器: ssh -R 10000:localhost:23 someserver 客户端B连接到服务器: ssh -L 23:localhost:10000 someserver 我不能让iptables来阻止这个。 我需要在某些情况下转发sshd_config设置不能覆盖(我将有一个程序专门分发端口,客户端可以转发,希望程序会添加一个iptables规则,以允许这一点)。 我试过了: iptables –flush iptables -A INPUT -i lo -p tcp –dport 0:1024 -j ACCEPT iptables -A OUTPUT -o lo -p tcp –dport 0:1024 -j ACCEPT iptables –policy INPUT DROP iptables –policy OUTPUT DROP iptables -A INPUT -m状态 – 状态ESTABLISHED,RELATED -j ACCEPT […]
在过去的几周里,我注意到我的服务器上的防火墙停止了几次。 当我开始它的工作几天,但之后,我发现它停了下来。 我再次运行它,几天后它再次停止。 我使用iptables。 我有足够的内存,硬盘上有足够的可用空间。 可能是什么情况? 我担心我的服务器上有“某人”。 请指教我…
在我的办公室networking上,我有两个互联网连接和一个运行网站的CentOS服务器(端口443上的HTTPS)。 该网站应通过第一个互联网连接(ISP-1)的公共IP公开访问。 另一个互联网连接,ISP-2,是networking上的默认网关。 这两个互联网连接都有路由器(家庭式)与NAT,SPI防火墙等。ISP-2上的路由器是带有原始固件的Netgear WNDR3700(又名N600)。 问题是网站无法访问。 看起来ISP-1上的入站stream量会到达服务器,但返回的stream量是通过ISP-2路由的,有效地使站点无法访问。 据我所知,我不能在WNDR3700上进行基于端口的路由。 我的select是什么使这项工作? 我一直在考虑在服务器上实现一个基于iptables / routing的解决scheme,但一直没能做到这一点。 更新:请注意,服务器有一个networking接口连接到两个路由器。
在我有一个CentOS服务器,我想转发端口8080到第三方networking服务器。 所以我添加了这个规则: iptables -t nat -A PREROUTING -p tcp –dport 8080 -j DNAT –to-destination thirdparty_server_ip:80 但似乎没有工作。 为了debugging过程,我添加了这两个LOG规则: iptables -t mangle -A PREROUTING -p tcp –src my_laptop_ip –dport ! 22 -j LOG –log-level warning –log-prefix "[_REQUEST_COMING_FROM_CLIENT_] " iptables -t nat -A POSTROUTING -p tcp –dst thirdparty_server_ip -j LOG –log-level warning –log-prefix "[_REQUEST_BEING_FORWARDED_] " ( –dport ! […]
比方说,我想我的箱子上打开端口12345,但我只想通过一个安全套接字(SSL)的连接。 有没有可以添加到以下命令的标志: /sbin/iptables -A INPUT -p tcp –dport 12345 -j ACCEPT 谢谢!