将 IPTables 规则转换为 UFW

将 IPTables 规则转换为 UFW

我们使用的是 Ubuntu 12.04 x64 LTS VPS。使用的防火墙是 UFW。我已经设置了 Varnish + LEMP 设置。以及其他东西,包括从我们办公室到 VPS 数据中心的 Openswan IPSEC VPN。第二个内部 Ubuntu 盒将充当 MySQL 从属并通过 VPN 从 VPS 获取数据。

主设备的 ppp0 在从设备上被视为 10.1.2.1,它们进行 ping 操作等。

我已经完成了各种所需的任务,但是除非我发出这个相当明显的 IPTables 命令,否则我无法让客户端(从属)MySQL(也无法 telnet 10.1.2.1 3306)通过 VPN 访问主服务器:

iptables -A INPUT -s 10.1.2.0/24 -p tcp --dport 3306 -j ACCEPT

我愿意强制接受来自最后一个八位字节的输入。 有了这个规则,一切都会顺利进行!

但是我想将此命令转换为 UFW 语法,以便将所有内容保存在一个地方。

现在我承认我对 UFW 缺乏经验,我准备了以下规则:

ufw allow proto tcp from 10.1.2.0/24 port mysql

以及 2-3 种变体,包括指定 3306 而不是 mysql,指定目标 IP(MySQL 的 my.cnf 此刻配置为 0.0.0.0)和类似的,但我似乎无法以功能性的方式复制简单的 iptables 规则。

有人可以给我一个建议,不要抛弃 UFW 吗?

提前致谢。

答案1

命令

ufw allow proto tcp from 10.1.2.0/24 port mysql

将以下内容添加到 iptables

iptables -L ufw-user-input -vn
Chain ufw-user-input (1 references)
   pkts bytes target   prot opt in    out  source       destination

    0   0     ACCEPT   tcp  --   *     *   10.1.2.0/24  0.0.0.0/0    tcp spt:3306

注意,spt这表示数据包的源端口需要是 3306。您需要告诉 UFW 允许以端口 3306 为目标的数据包。

ufw allow proto tcp from 10.1.2.0/24 to any port mysql

添加如下规则

iptables -L ufw-user-input -vn
Chain ufw-user-input (1 references)
   pkts bytes target   prot opt in    out  source       destination

    0   0     ACCEPT   tcp  --   *     *   10.1.2.0/24  0.0.0.0/0    tcp dpt:3306

这将允许从 10.1.2.0/24 发往端口 3306 的数据包。

相关内容