Whenever I run a command like ufw allow 22, ufw automatically adds the firewall rules to both ipv4 and ipv6. If I want to only open a port on ipv4, is there a way to do so? Something like ufw allow 22 proto ipv4.
Asked
Active
Viewed 5.7k times
22
Ralph
- 362
3 Answers
32
You just have to use the fuller syntax and specify an address (range).
For example, allow connections to TCP port 22 on all IPv4 addresses:
ufw allow proto tcp to 0.0.0.0/0 port 22
Kontrollfreak
- 486
27
I would edit the ufw config file itself to turn off IPv6:
sudo nano /etc/default/ufw
Change the line that says: IPV6=yes to IPV6=no then restart the ufw service. You can even run sudo ufw reload if the ufw instance is already enabled.
This worked for me to ensure that all the rules I add are only added to IPv4.
Thanks
james-see
- 377
4
Maybe only by subnet:
sudo ufw allow proto tcp from 192.168.0.0/24 to any port 22
More info: https://ubuntu.com/server/docs/firewalls