我已经禁用了UFW整体的外出连接,因为我不想把我的服务器的IP地址暴露给攻击者 (我使用CloudFlare)的vBulletin论坛 。
正如我这样做,我已经注意到我无法查询一个特定的IP地址,这是通过代码内部调用。 现在我的问题是,我如何只允许这个特定的IP(比如255.255.255.255)地址进行传出连接?
谢谢!
非常简单的修复! 任何人想知道如何做到这一点:
1)打开/etc/ufw/before.rules并在最后一行的COMMIT上面插入这条规则
-A ufw-before-output -m owner --uid-owner {user} -p {protocol} --dport {port} -d {ip} -j ACCEPT
填写每个值,如下所示:
{user} – 您想要允许的用户(www-data)
{protocol} – udp或tcp
{port} – 您想要允许的端口
{ip} – 你想允许的IP地址。
一个例子:
# server -A ufw-before-output -m owner --uid-owner www-data -p udp --dport 6666 -d 255.255.255.255 -j ACCEPT # gameserver -A ufw-before-output -m owner --uid-owner www-data -p tcp --dport 3306 -d 255.255.255.255 -j ACCEPT # mysql # don't delete the 'COMMIT' line or these rules won't be processed COMMIT
2)重新启动ufw service ufw restart
应该都正确工作后! 确保你不把两个端口放在一个像“-port 6666,5555”之类的东西 – 通常是错误的!
我使用以下命令成功地允许传出stream量到特定端口上的特定IP:
ufw allow out from any to <the.target.ip> port <port_number>