我添加了 20000 条这样的 iptable 规则:
iptables -A INPUT -s 108.62.150.0/24 -j DROP
iptables -A INPUT -s 109.108.64.0/19 -j DROP
iptables -A INPUT -s 109.110.32.0/19 -j DROP
Run Code Online (Sandbox Code Playgroud)
从我的服务器阻止俄罗斯和东欧 ips。
但是,对于这些范围内的许多 ip,我的 fail2ban 仍然无效。
我的规则集的开头看起来像这样:
Chain INPUT (policy DROP)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 127.0.0.0/8
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 224.0.0.0/4 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN …Run Code Online (Sandbox Code Playgroud) 我的服务器上有 nginx,我运行下面的脚本向 iptables 添加规则:
#!/bin/bash
ip=/sbin/iptables
services='22 25 53 80 443 5432 8000 8080'
$ip -F;
$ip -t nat -F;
echo -e "Opening port 22 for ssh";
$ip -A INPUT -p tcp --dport 22 -j ACCEPT;
$ip -A OUTPUT -p tcp --sport 22 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT;
$ip -P INPUT DROP;
$ip -P OUTPUT ACCEPT;
$ip -P FORWARD DROP;
echo -e "Accept lo";
$ip -A INPUT -i lo -j ACCEPT;
$ip -A OUTPUT -o lo -j ACCEPT;
$ip …Run Code Online (Sandbox Code Playgroud) 当主机尝试通过 HTTP 浏览时,我尝试将其重定向到我的网络上的特定链接。
我尝试重定向的主机的 IP 地址是192.168.2.19,我的网络服务器位于192.168.2.15:6969/test.js。当我重定向用户时,我只能让他访问192.168.2.15:6969,而不能访问相对路径。我尝试在iptables命令中指定但它不起作用。
这就是我所做的:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.2.19 -p tcp --dport 80 -j DNAT
--to-destination 192.168.2.15:3000/test.js
Run Code Online (Sandbox Code Playgroud) 你好,
我正在开展群发电子邮件业务,但我的 ip 被列入黑名单。有什么方法可以帮助我实现 ip 轮换。或任何其他可以帮助我维护 ip 白名单的来源。
我需要 IPTables,就像其他人一样,但我使用它的程度不足以真正保持我的知识完整和新鲜。
CentOS 中的设置实用程序太基础了。它似乎不允许我打开自定义端口,只是标准端口。
我需要一种基于文本的方式来打开防火墙中的自定义端口。我该怎么办?
大家好,进入我的 Ubuntu 服务器,我想阻止所有人的 ftp 端口,但我在启动命令时:
iptables -A INPUT -p tcp --destination-port 21 -j DROP
Run Code Online (Sandbox Code Playgroud)
返回此错误:iptables: No chain/target/match by that name
命令行:
root@webanddesignsrl-one:/# iptables -A input -p tcp --destination-port 21 -j DROP
iptables: No chain/target/match by that name.
Run Code Online (Sandbox Code Playgroud)
我看到很多关于它的问题:
iptables:没有该名称的链/目标/匹配
https://serverfault.com/questions/422103/iptables-no-chain-target-match-by-that-name iptables 错误:没有该名称的
链/目标/匹配?
没有人帮助我。我该如何解决?
服务器是 Ubuntu 10.04
lsmod 的输出是:
binfmt_misc 7960 1
act_police 4620 0
cls_flow 7754 0
cls_fw 4283 0
cls_u32 6698 0
sch_htb 15660 0
sch_hfsc 15167 0
sch_ingress 2098 0
sch_sfq 5863 0
xt_time 2181 0 …Run Code Online (Sandbox Code Playgroud) 在我的办公室,我设置了一台 linux 机器作为路由器,并为所有客户端提供互联网连接。在这个 linux 路由器后面,我设置了一个 cisco 无线路由器,我用它为我办公室的一些员工的手机提供了互联网连接。
现在我想阻止访问 WhatsApp 和其他 IM 服务(我们聊天,线路)。是否可以使用 iptables 阻止这些 android 应用程序?
我一直在尝试不同的打开端口的方法,但由于某种原因不起作用。
我使用的最后一组行如下:
iptables -I OUTPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -I OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我的服务器上安装了 plesk,所以它应该为我处理 dns。我已访问 Plesk 中的组件页面,我可以看到 BIND 支持已打开。但是,由于某种原因,在服务器 DNS 出现内存问题后停止运行。所以我给服务器提供商打了个电话,他们只能告诉我端口 53 被阻止了,我必须取消阻止它,所以我不得不禁用 iptables。但是由于某种原因,在再次重新启动 DNS 后重新运行,端口 53 已打开。
我托管游戏服务器,因此有几个 IP。在我有游戏面板的主服务器 IP 上,其他 IP 保留供我为客户托管的游戏服务器使用。
因此,我希望仅在主服务器 IP 地址上打开端口 80 和 443 。我已经搜索了一个iptables将涵盖此内容的命令,但我没有找到任何内容(只有说明如何允许/阻止某些外国 IP 的端口的结果)。
这可能iptables吗?如果是这样,如何?
操作系统为 Ubuntu 14.04LTS。
我在 VPS 上有 Debian 6.0.5 x86_64 并使用以下命令创建名为“iptables.rules”的文件:
*filter
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m …Run Code Online (Sandbox Code Playgroud) 我使用以下 iptables 规则:
iptables -A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH,ACK -m length --length 52 -m state --state ESTABLISHED -j DROP
Run Code Online (Sandbox Code Playgroud)
它可以阻止来自我的服务器的不需要的数据包,但它也会阻止不应该发生的事情。
以下是用wireshark捕获的数据包:
unwanted packet:source=192.168.0.100 destination=192.168.0.111 TCP lenght=66 [TCP Retransmission] 62401?38111 [PSH, ACK] Seq=15 Ack=19 Win=65536 Len=12
needed packet:source=192.168.0.100 destination=192.168.0.111 TCP lenght=66 [TCP Retransmission] 62433?38111 [PSH, ACK] Seq=344 Ack=37855 Win=62825 Len=12
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何修改规则以允许所需的数据包并阻止不需要的数据包。
我想阻止访问除我自己的 $DNS_IP1、$DNS_IP2 之外的任何 DNS 服务器(端口 53)。$DNS_IP1、$DNS_IP2 不是我的 IP 范围的一部分,而是 IP。