我已经搜索了一段时间,但没有解决我的问题。我正在设置邮件服务器,但是在写入 iptables 时,出现错误:
iptables-restore:第 2 行失败。
我正在尝试使用以下 /etc/iptables.test.rules:
# Allows SMTP access
-A INPUT -p tcp --dport 25 -j ACCEPT
# Allows pop and pops connections
-A INPUT -p tcp --dport 110 -j ACCEPT
-A INPUT -p tcp --dport 995 -j ACCEPT
# Allows imap and imaps connections
-A INPUT -p tcp --dport 143 -j ACCEPT
-A INPUT -p tcp --dport 993 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
在此之后,我发出以下命令:
sudo iptables-restore < /etc/iptables.test.rules
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个:
iptables-restore: line 2 failed.
Run Code Online (Sandbox Code Playgroud)
我不知道是什么问题。任何人都可以澄清吗?
我使用的是 Ubuntu 10.10 LTS
一直在寻找 netfilter-persistent 在哪里存储其规则,但在 help.ubuntu.com 上找不到任何关于它的文档。
有没有人知道 Ubuntu 中的 netfilter-persistent 在哪里保存它的规则,以便它在重启后仍然存在?
多年来,我一直有一个 init 脚本为我配置 iptables,直到现在它一直像冠军一样工作。从 10.04 升级到 12.04 后,我开始遇到防火墙问题,其中规则集已损坏。经过一番玩耍后,我发现某些东西正在设定以下规则:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
ACCEPT all -- 192.168.122.0/24 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable …
Run Code Online (Sandbox Code Playgroud) 我丢弃了端口上的所有流量,除了我的 Web 服务器的 80 端口。
我在 iptables 上有一些这样的规则:
iptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "cgi" --algo bm --to 1000 -j DROP
Run Code Online (Sandbox Code Playgroud)
谁有更多可以分享一下?我总是知道坏黑客仍在更新,但其中一些总是以相同的代码开头。我需要根据某些标准断开连接。这是一些 Apache 日志(我删除了 ips,但每个攻击都来自相同):
攻击 1:这个我不知道要做什么,但是从同一个 ip 做 50 次
GET / HTTP/1.1 301 224 - Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.152 Safari/537.22
GET / HTTP/1.1 302 3387 - Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.152 Safari/537.22
Run Code Online (Sandbox Code Playgroud)
攻击 2:这尝试仅获取有关服务器的信息。
GET / HTTP/1.1 301 224 http://myip:80/ Go-http-client/1.1
GET / …
Run Code Online (Sandbox Code Playgroud) 假设一个人希望有一个被阻止的 IP 地址列表。
我看到了以下示例脚本:
BLOCKDB="/path/to/ip.blocked.file"
# omit comments lines
IPS=$(grep -Ev "^#" $BLOCKDB)
for i in $IPS
do
iptables -A INPUT -s $i -j DROP
iptables -A OUTPUT -d $i -j DROP
done
Run Code Online (Sandbox Code Playgroud)
几千行,转换成几千个iptables条目,理智吗?
上限是多少,超过这个上限,系统效率会受到显着影响?
当前的 Ubuntu LTS 不支持 IPv6 的 NAT 表(即没有ip6tables -t nat
),我对此很好,事实上,无 NAT 环境是我网络的“核心”。
但是,下一个 Ubuntu LTS 将添加对 IPv6 NAT 表的支持,问题是,我有“命令”不允许在我的 IPv6 网络中使用它,我的意思是,我们将不支持 NAT66(IPv6 的 NAT)。
所以,我需要确保这ip6tables -t nat
在这里不起作用。我怎样才能禁用它?
我可以将一些内核模块列入黑名单吗?系统控制?
我读通过直接写入到系统的源代码iptables
在/system/xbin/iptables
Android中。我想在不使用iptables
命令的情况下在 Ubuntu 中做同样的事情。
在iptables
Ubuntu 16.04 上在哪里?我遵循了一些不适用于此版本 Ubuntu 的问题和答案。
find / -name iptables
返回/sbin/iptables
其中包含二进制文件,也许是人!
iptables
命令写入其配置的文件在哪里 ?
我使用的是 Ubuntu 16.04 LTS,我想阻止除某些 IP 地址之外的所有连接。我运行了这些命令
ufw default allow outgoing
ufw default deny incoming
ufw allow ssh
ufw enable
ufw allow from 1.2.3.4
Run Code Online (Sandbox Code Playgroud)
它对我来说很好用,但现在我想允许一个 ipv6 地址,我正在使用这个命令。
ufw allow from 2405:204:108e:650c:10cb:11ea:bb8f:3937
Run Code Online (Sandbox Code Playgroud)
但它不起作用
为了澄清,这是问:
我有一台运行 ubuntu 的家用电脑。我希望能够从远程位置 ssh 进入它,例如我将携带笔记本电脑的咖啡馆。
到目前为止,我的尝试都没有成功:我将路由器设置为将家庭计算机的 IP 地址上的端口 22 转发到端口 22。当我 ssh@ 时,连接被拒绝。
我找不到有关如何执行此操作的在线综合指南。我知道它涉及设置一些东西,例如家用机器上的静态 IP 地址,以及路由器端口转发。说了这么多,具体怎么设置静态IP(好像有好几种),用什么IP地址,路由器上转发什么端口,家里ubuntu选择转发到什么端口通过该特定端口登录时的机器、ssh 详细信息等。
根据21.10 发行说明:
nftables 现在是防火墙的默认后端。
但是,安装了 Ubuntu 21.10 后,我可以看到默认情况下仍然安装了 iptables(和 ufw):
m@m-VirtualBox:~$ whereis iptables
iptables: /usr/sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz
m@m-VirtualBox:~$ whereis ufw
ufw: /usr/sbin/ufw /usr/lib/ufw /etc/ufw /usr/share/ufw /usr/share/man/man8/ufw.8.gz
Run Code Online (Sandbox Code Playgroud)
为什么会出现这种情况?
据我所知,ufw
是 iptables 的包装,而不是 nftables。
我可以安全地使用这些命令吗?或者我应该注意不要在终端中输入iptables
或?ufw