![(UFW)允许特定 IP 的传入和传出连接,拒绝其他所有 IP](https://linux22.com/image/1614626/%EF%BC%88UFW%EF%BC%89%E5%85%81%E8%AE%B8%E7%89%B9%E5%AE%9A%20IP%20%E7%9A%84%E4%BC%A0%E5%85%A5%E5%92%8C%E4%BC%A0%E5%87%BA%E8%BF%9E%E6%8E%A5%EF%BC%8C%E6%8B%92%E7%BB%9D%E5%85%B6%E4%BB%96%E6%89%80%E6%9C%89%20IP.png)
我正在尝试在 Ubuntu 上设置 UFW 防火墙,如下所示:
- 允许所有到 IP 1.1.1.1(所有端口)的传入和传出连接;
- 拒绝所有其他连接(传入和传出);
对于第一项,下面的命令似乎工作正常:sudo ufw allow from 1.1.1.1
此后 UFW 的状态显示:
To Action From
-- ------ ----
Anywhere ALLOW IN 1.1.1.1
-
现在,谈谈第二项。是否可以使用 UFW 来“拒绝其他所有内容”?
UFW 默认值为:deny (incoming), allow (outgoing)
如果我使用sudo ufw default deny outgoing
和 ,那么sudo ufw allow from/to 1.1.1.1
“允许”命令是否会否决“拒绝”命令?这样它就会按我需要的方式工作。
答案1
虽然迟到了,但我希望这能起到作用。
ufw disable
ufw reset
ufw default deny incoming
ufw default deny outgoing
ufw allow to 1.1.1.1
ufw allow from 1.1.1.1
ufw allow out from 1.1.1.1
ufw allow out to 1.1.1.1
ufw enable
答案2
我认为 iptables 会是一个更好的解决方案。
iptables -I INPUT -j DROP ### drop input
iptables -I INPUT -s (whitelisted address) -j ACCEPT ### allow input from whitelisted IP
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ### allow responses to outgoing requests