标签: iptables

如何记录尝试连接到端口的 IP 地址?

是否可以在 Linux Debian 中记录所有尝试连接或连接到端口“5901”的 IP 地址?

我怎样才能做到这一点?

linux debian firewall iptables

16
推荐指数
2
解决办法
6万
查看次数

使 iptables 更易于维护

除了一些列入白名单的网站外,我的网络已完全锁定。这一切都是通过 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 -p udp -d 101.102.103.0/24 -j ACCEPT
...
Run Code Online (Sandbox Code Playgroud)

显然,这些地址是假设的,但您明白了。我的防火墙变得巨大。如果我可以这样做,维护起来会容易得多:

# Allow traffic to google.com
iptables -A zone_lan_forward -p tcp -d google.com -j ACCEPT
iptables -A …
Run Code Online (Sandbox Code Playgroud)

domain-name-system firewall iptables hostname ip-address

16
推荐指数
2
解决办法
3万
查看次数

iptables 只显示一个链

tldr:我怎样才能让 iptables 只显示一个链?

我可以让 iptables 只显示一个表,但一个表由多个链组成。我需要找到链 INPUT 中的最后一条规则(通常但不总是拒绝所有规则)。

我尝试过 awk 甚至一些 grep,但我在这些方面的技能肯定会减弱。我试过使用 awk 只获取一个段落,但这似乎不适用于输出,iptables --line-numbers -n -L -t filter也许是因为那些空行并不是真正的空白。

我正在寻找可以安装在 CentOS 6 最小环境中的任何普通 gnu 工具的解决方案。

firewall iptables awk

16
推荐指数
1
解决办法
3万
查看次数

Docker 破坏了 libvirt 桥接网络

这个问题让我发疯。我运行全新安装的 Ubuntu 18.04,使用:

  • ufw 来管理防火墙
  • 一座 br0 桥
  • lxd 和 libvirt (KVM)

我尝试了股票 docker.io 包和包形成 docker 自己的 deb 存储库。

我希望能够部署 docker 容器,选择 ip 来绑定其端口(例如 -p 10.58.26.6:98800:98800),然后使用 UFW 打开端口。

但是 docker 似乎创建了干扰 br0 桥的 iptables 规则(例如,主机无法 ping libvirt 来宾)

我环顾四周,找不到好的、具有安全意识的解决方案。

手动操作iptables -I FORWARD -i br0 -o br0 -j ACCEPT似乎可以使一切正常。

"iptables": falsedocker 守护进程的设置也允许网桥正常运行,但会破坏 docker 的容器出口网络。

我发现这个解决方案看起来很简单,通过编辑单个 UFW 的文件/sf/answers/3621911961/,但它根本不起作用。

永久解决这个问题的最佳实践和安全方法是什么,幸免于重新启动?

编辑: 我结束了加-A ufw-before-forward -i br0 -o br0 -j ACCEPT在年底/etc/ufw/before.rules前提交。我可以将其视为解决方案还是不会引起一些问题?

iptables bridge ufw docker

16
推荐指数
3
解决办法
6249
查看次数

如果一个接口被删除并重新创建,iptables 规则会继续工作吗?

我的服务器通过 OpenVPN 连接到一些奇怪的资源,每次 OpenVPN 客户端启动时,ovpn都会带出一个接口。

我只想向这个接口公开选定的端口(比如 MySQL),所以我的 iptables 中有这个规则:

iptables -A INPUT -i ovpn -p tcp --dport 3306 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

但是,由于 OpenVPN 客户端可以在没有干预的情况下断开连接和重新连接,因此链接 ID(如 所示ip link show ovpn)可能会发生变化。

上面的iptables规则会在链接消失并再次出现(使用不同的ID)后继续工作吗?

iptables

16
推荐指数
2
解决办法
1526
查看次数

通过 iptables 限制带宽

我需要限制带宽使用,类似于某些 ISP 的做法,以便在几秒钟后降低速度。

iptables traffic-shaping bandwidth-control

15
推荐指数
1
解决办法
5万
查看次数

你能推荐一个好的 iptables 介绍吗?

我必须在 Linux 服务器上设置防火墙(我以前的所有经验都是使用 Windows)。我的规则很简单 - 禁止所有,允许所有端口,允许特定 IP 子网的一些端口,而网络虽小但复杂(每个主机在至少 2 192.168 ... 网络中有 IP,每个人都可以互连许多不同的方式)。我认为使用 iptables 包装器会使系统在逻辑上过于复杂,从而引入许多不必要的实体,最好保持简单并直接使用 iptables。

你能推荐一个关于如何编写 iptables 规则的快速介绍吗?

linux vpn router iptables

15
推荐指数
1
解决办法
3279
查看次数

如何使用 Fail2ban 设置对 MySQL 的监控?

使用搜索引擎在 MySQL 和 fail2ban 上搜索互联网会产生很多将您的 fail2ban 日志放入 MySQL 的结果,但是我想监视失败的 MySQL 尝试登录并禁止这些 IP。

我的应用程序要求我保持 MySQL 的端口打开,但我已经更改了默认端口以增加安全性。不过,为了额外的安全性,我想使用 fail2ban 监控 MySQL 日志。

有没有人有为 MySQL 配置 fail2ban 的快速指南?我已经安装了它并且正在处理一些其他服务,因此您可以跳过安装部分并直接跳转到配置配置文件或其他任何必要的内容。

mysql security iptables fail2ban

15
推荐指数
2
解决办法
2万
查看次数

设置透明 SSL 代理

我有一个装有 2 个网卡的 linux 机器,用于检查通过端口 80 的流量。一张网卡用于上网,另一张卡连接到网络交换机。关键是为了调试目的,能够检查连接到该交换机的设备上的所有 HTTP 和 HTTPS 流量。

我已经为 iptables 编写了以下规则:

nat

-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:1337
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 1337

-A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)

在 192.168.2.1:1337,我有一个使用 Charles ( http://www.charlesproxy.com/ ) 进行录制的透明 http 代理。

对于端口 80 一切正常,但是当我为指向端口 1337 的端口 443 (SSL) 添加类似的规则时,我通过 Charles 收到有关无效消息的错误。

我之前与 Charles ( http://www.charlesproxy.com/documentation/proxying/ssl-proxying/ )在同一台计算机上使用过 SSL 代理,但由于某种原因透明地执行它没有成功。我在谷歌上搜索的一些资源说这是不可能的 - 如果有人可以解释原因,我愿意接受它作为答案。

请注意,我可以完全访问所描述的设置,包括连接到子网的所有客户端 …

ssl https man-in-the-middle iptables transparent-proxy

15
推荐指数
1
解决办法
2万
查看次数

如何配置自定义 NAT 以在 Amazon VPC 中使用

我有一个我希望用作 NAT 实例的 Ubuntu 机器(除其他外)。我宁愿避免使用 Amazon 提供的 NAT AMI,而是自己配置 NAT。

目前,我的主机只有一个网络接口(如http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html 中所示)。

我是否可以将我的 Ubuntu 主机配置为 Amazon 网络中其他主机的 NAT 实例?

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
       5      454 MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0  
Run Code Online (Sandbox Code Playgroud)

我尝试在 Ubuntu 主机 (10.200.0.51) 中配置 NAT 规则。我的第二台主机位于不同的网络 (10.200.10.41/24) 上。所以我写道:

route add -net 10.200.0.0 netmask 255.255.255.0 dev eth0 # So I can reach 10.200.0.51
route add default gw 10.200.0.51
Run Code Online (Sandbox Code Playgroud)

但是机器失去了连接。

我对亚马逊中 NAT 实例和路由的使用有什么误解?

nat iptables amazon-ec2

15
推荐指数
3
解决办法
3万
查看次数