标签: ufw

可以将 UFW 放在 CentOS 上吗?

如果是这样,我该怎么做?

如果没有,除了 iptables 之外,有没有更简单的方法可以在 CentOS 上设置一些基本规则?

我更像是应用程序开发人员,而不是系统管理员。

firewall centos ufw

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

UFW 处于活动状态但未启用为什么?

我试图在我的 Ubuntu 12.04 机器上设置防火墙。经过一番挣扎,我得到了以下内容。这听起来是不是有点奇怪?

thomas@thomas-K40IJ:~$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
--                         ------      ----
21/tcp                     ALLOW OUT   Anywhere
80                         ALLOW OUT   Anywhere
22                         ALLOW OUT   Anywhere
21/tcp                     ALLOW OUT   Anywhere (v6)
80                         ALLOW OUT   Anywhere (v6)
22                         ALLOW OUT   Anywhere (v6)

thomas@thomas-K40IJ:~$ sudo ufw reload
Firewall not enabled (skipping reload)
thomas@thomas-K40IJ:~$ sudo ufw enable 
ERROR: Could not load logging rules
thomas@thomas-K40IJ:~$
Run Code Online (Sandbox Code Playgroud)

重启后我的防火墙似乎也被禁用了。我错过了什么?

firewall ufw ubuntu

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

启用从 docker 容器通过 ubuntu 防火墙访问主机服务

我有一个服务在端口 的主机上运行8545。我有几个需要访问主机上的此服务的 docker 容器。主机运行的是ubuntu。我已经配置成功了

extra_hosts:
- "host.docker.internal:host-gateway"
Run Code Online (Sandbox Code Playgroud)

在 docker-compose 文件中,我用它来启动我的 docker 容器。但是,我发现容器无法访问host.docker.internal:8545,除非我使用以下命令打开主机上的该端口

ufw allow 8545
Run Code Online (Sandbox Code Playgroud)

然而,这会向任何人开放该端口,这是不希望的。

如何仅向主机上运行的 docker 容器开放此端口?

编辑:我已经看到该docker0接口的 IP 为172.17.0.1. 我尝试运行sudo ufw allow from 172.17.0.1,但这并没有使我的容器能够访问8545主机上的端口。

root@localhost:~/code/metis/ops# ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Anywhere                   ALLOW       172.17.0.1
22/tcp (v6)                ALLOW       Anywhere (v6)

root@localhost:~/code/metis/ops# docker exec -it ops_l2geth-mainnet_1 /bin/sh
/ # geth attach http://host.docker.internal:8545
Fatal: Failed to start the JavaScript …
Run Code Online (Sandbox Code Playgroud)

firewall ufw ubuntu docker

7
推荐指数
1
解决办法
6800
查看次数

对通过 SSH 成功连接的任何人自动打开防火墙

我有一台运行一些服务的服务器。但是,出于安全原因,我配置了服务器,以便从外部访问除 SSH 之外的任何内容。

不过,我想做的是让服务器允许任何成功通过 SSH 登录的人访问其所有服务(一旦该人断开连接,再次关闭所有端口,除了 SSH 端口应该保持打开状态)。

有没有办法做到这一点?

我在服务器上使用 Arch Linux 并ufw管理防火墙。

linux firewall ufw arch-linux iptables

6
推荐指数
1
解决办法
351
查看次数

使用 Raspberry Pi 作为网络的 IPv6 路由器

我已经成功地使用 tunnelbroker.net 为我的 Raspberry Pi 设置了 IPv6。但是,我想分享我在网络中的其他设备中获得的 /64。网络的路由器是Virgin Media Super Hub (VMDG480),不支持IPv6。

这是我用于 Raspberry Pi 的 /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.0.3
    gateway 192.168.0.1
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
    address 2001:470:1f09:4f8::2
    netmask 64
    endpoint 216.66.80.26
    local 192.168.0.3
    ttl 255
    gateway 2001:470:1f08:4f8::1
Run Code Online (Sandbox Code Playgroud)

这是我从隧道经纪人那里得到的信息:

 Client IPv6 Address: 2001:470:1f08:4f8::2/64
 Routed /64: 2001:470:1f09:4f8::/64
 Routed /48: 2001:470:6c92::/48
Run Code Online (Sandbox Code Playgroud)

我尝试过使用 radvd、dibbler 和 isc-dhcp-server - 没有人能够为我的网络中的其他计算机提供 IPv6 连接。有人可以帮助阐明这种情况吗?

networking ufw ipv6 raspberry-pi radvd

6
推荐指数
1
解决办法
8691
查看次数

如何阻止 NAT 后面的特定计算机

我经营一家小旅馆,网络配置如下:

Router1 (192.168.1.1) ??? (192.168.1.2) Ubuntu Samba+SSH Server
                       ?? (192.168.1.X) Router 2 (192.168.2.1) ??? (192.168.2.X) GuestPC1
                       ?? (192.168.1.X) AdminPC1                ?? (192.168.2.X) GuestPC2
                       ?? (192.168.1.X) AdminPC2                ?? (192.168.2.X) GuestPC3
                       :                                        :
                       :                                        :
                       ?? etc.                                  ?? etc.
Run Code Online (Sandbox Code Playgroud)

192.168.1.X 是 ADMIN 网络,我们希望对 GUEST 网络 (192.168.2.X) 保密,以保存 192.168.1.2 上的一些共享 Samba 文件夹。

两个网络上的所有计算机都通过 DHCP 获取其 IP 地址,但使用静态 IP 的 Samba+SSH 服务器除外。

我注意到 GuestPC 能够访问 Ubuntu Samba+SSH 服务器,尽管将 ufw 配置为仅允许 192.168.1.0/24。

在 Internet 上进行了一些研究后,似乎由于路由器 2 上的 NAT,来自 GuestPC 的连接能够伪装到我的 ADMIN 网络上。因此,仅考虑上述 ufw 规则,GuestPC 能够完全访问 Samba …

networking router home-networking ufw nat

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

如何终止 Linux 上现有的网络连接?

我一直在致力于一个接近完成的项目:只需按一下按钮就能终止我孩子的互联网连接。我基本上通过调用实现了部分解决方案:

ufw 拒绝 IP

杀死他们的互联网的威胁在一半的情况下有效,而上述的方法在剩下的一半中有效。我遇到问题的地方是 YouTube 长视频。有时继续现有连接很方便,但我还希望有一个按钮可以终止所有进出该 IP 的现有流量。事实证明,这比预期要困难得多。

我尝试过 cutt,它似乎甚至无法在 Ubuntu 14.04 上运行。我试过tcpkill。它似乎在运行,但似乎没有做任何事情(我提供了两个以太网接口)并且似乎想要继续运行。虽然我的 ufw 是持久的,但我宁愿立即无状态地终止并删除所有现有连接。

Conntrack 听起来很有希望(http://conntrack-tools.netfilter.org/manual.html),并且有以下内容:

删除一个条目,如果出现以下情况,这可用于阻止流量:

  • 您有一个有状态的规则集,可以阻止处于无效状态的流量。

  • 您已将 /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_loose 或 /proc/sys/net/netfilter/nf_conntrack_tcp_loose(具体取决于您的内核版本)设置为零。

命令

 conntrack -D -s <IP>
Run Code Online (Sandbox Code Playgroud)

似乎删除并显示了某些内容,但 YouTube 视频一直在嗡嗡作响,当我这样做时,我看到连接正在重组

conntrack -L
Run Code Online (Sandbox Code Playgroud)

我已经搞定了

 echo 0 > nf_conntrack_tcp_loose
Run Code Online (Sandbox Code Playgroud)

并对其进行cat'ed以确保它卡住,但它似乎并没有删除连接。

我不是 100% 确定“阻止无效状态流量的有状态规则集”是什么意思,但我确实看到了以下规则

DROP       all  --  0.0.0.0/0            0.0.0.0/0            ctstate INVALID
Run Code Online (Sandbox Code Playgroud)

当执行“iptables -L -n”时,如果这就是它引用的内容。

我发现了以下内容:

iptables -A INPUT -s "$BLOCK_THIS_IP" -j DROP
Run Code Online (Sandbox Code Playgroud)

它对我不起作用,但这可能是因为它按照允许内部网络上的所有流量的一般规则进行,并且通过重新排序它可能会起作用。我不想将 iptables 命令与 ufw 命令混合使用。鉴于 UFW 已经设置了 iptables 来拒绝任何新连接,在 iptables 中设置一个 drop 似乎是多余的,如果可以的话,我真的不想将 UFW 与 iptable 命令混合在一起。 …

tcp ufw iptables

5
推荐指数
0
解决办法
7114
查看次数

仍然无法从 Docker 容器访问 Internet

按照/sf/answers/3238673021/(@mkubaczyk回答“Ubuntu 下 docker + ufw 的最佳实践是什么”)指南正确配置 Docker 和 UFW,但仍然无法在容器中访问 Internet。

可能是什么问题?

ufw

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

ufw有什么优势,真的需要吗?

我对 iptables 非常熟悉,而且我觉得iptables -L -v很容易阅读。备份很容易,我对此很满意。

然而,在最近版本的 Ubuntu 中有 ufw 会严重污染 iptables。除了干净的规则列表之外,我还有很多不易阅读的规则:

$ iptables -L -v
Chain INPUT (policy DROP 6114 packets, 331K bytes)
 pkts bytes target     prot opt in     out     source               destination
 131K   76M ufw-before-logging-input  all  --  any    any     anywhere             anywhere
 131K   76M ufw-before-input  all  --  any    any     anywhere             anywhere
 6618  368K ufw-after-input  all  --  any    any     anywhere             anywhere
 6191  346K ufw-after-logging-input  all  --  any    any     anywhere             anywhere
 6191  346K ufw-reject-input  all  --  any    any     anywhere             anywhere
 6191 …
Run Code Online (Sandbox Code Playgroud)

networking linux ufw iptables

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

Ubuntu:删除几条ufw规则

如何一次删除多条ufw规则?通过使用

$ ufw status numbered

Status: Aktiv

         Zu                         Aktion      Von
         --                         ------      ---
    [ 1] 80/tcp                     ALLOW IN    Anywhere
    [ 2] 53                         ALLOW IN    Anywhere
    [ 3] 53                         ALLOW OUT   Anywhere                   (out)
    [ 4] 80/tcp (v6)                ALLOW IN    Anywhere (v6)
    [ 5] 53 (v6)                    ALLOW IN    Anywhere (v6)
    [ 6] 53 (v6)                    ALLOW OUT   Anywhere (v6)              (out)
Run Code Online (Sandbox Code Playgroud)

我得到了规则的编号,并且可以使用例如删除单个规则

$ ufw delete 2
Run Code Online (Sandbox Code Playgroud)

但有没有办法一次性删除多条规则呢?就像是

ufw delete 2 3 5 6
Run Code Online (Sandbox Code Playgroud)

会很好(但不起作用)。

ufw ubuntu

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

从 WSL2 使用 Ubuntu 启用 ufw 失败

这是 Ubuntu 20.4 或 Ubuntu 22.04 的全新安装,但当我尝试从 Ubuntu 控制台启用 ufw 时,它们都失败了,并出现如下错误。

 sudo ufw enable
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/ufw/util.py", line 427, in under_ssh
    ppid = get_ppid(pid)
  File "/usr/lib/python3/dist-packages/ufw/util.py", line 419, in get_ppid
    ppid = open(name).readlines()[0].split(')')[1].split()[1]
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/sbin/ufw", line 138, in <module>
    not ui.continue_under_ssh():
  File "/usr/lib/python3/dist-packages/ufw/frontend.py", line 901, in continue_under_ssh
    if self.backend.do_checks and ufw.util.under_ssh(): # pragma: no cover
  File …
Run Code Online (Sandbox Code Playgroud)

ufw ubuntu wsl2

4
推荐指数
1
解决办法
4396
查看次数

Ubuntu 14.04:启用了 ufw 并忘记允许 ssh

昨晚我犯了一个最烦人的错误。在 Ubuntu 14.04 服务器上,我启用了 ufw 但忘记允许 ssh。然后我注销了。

当然,我现在被 ssh 锁定了。

幸运的是,我的主机提供了修复功能,使我能够访问服务器文件系统来修复此类内容。

如何使用文件系统完全手动禁用防火墙?

或者

如何在 ufw 中手动添加允许 ssh 访问的规则?

我试图在 /lib/ufw/user.rules 中设置规则,但没有用。

任何帮助表示赞赏。

linux ssh ufw ubuntu

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

如何为 Mac OS X 制作 VPN 终止开关

我想要做的是在 VPN 连接中断时完全禁用互联网连接。我正在通过 Viscosity 连接到我的 VPN (privatevpn.com)。

我已经尝试了书中的所有内容。我曾尝试在 Viscosity 中使用断开连接的脚本,但它们永远不会触发,或触发不一致并使我的连接容易受到攻击。我也在 Viscosity 中尝试了路由技巧,但它也不起作用。

在我的 Ubuntu 机器上,我有一个完美的解决方案,我使用 ufw 规则来控制防火墙。为了连接到我的 VPN,我需要禁用 UFW,然后一旦 VPN 连接我启用 UFW,它可以防止连接泄漏。

Mac 上有一种叫做 pf 的东西。我也许可以将 pf 配置为与我的 ufw 规则的工作方式相同,但我不明白如何配置它。

这是我也想在 Mac 上运行的 UFW 规则,也许有人可以帮助我配置 pf 以使用相同的规则?

状态:活动 登录:开(低) 默认值:拒绝(传入、拒绝(传出)、禁用(路由) 新配置文件:跳过

从任何地方开始 193.180.119.0/24 任何地方都允许 193.180.119.0/24

networking vpn ufw pf macos

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

标签 统计

ufw ×13

ubuntu ×5

firewall ×4

networking ×4

iptables ×3

linux ×3

arch-linux ×1

centos ×1

docker ×1

home-networking ×1

ipv6 ×1

macos ×1

nat ×1

pf ×1

radvd ×1

raspberry-pi ×1

router ×1

ssh ×1

tcp ×1

vpn ×1

wsl2 ×1