I want to create a rule that allows anyone on eth1 to access port 80. Can UFW do this or should I go back to using Shorewall?

To clarify: this is a capabilties question, can ufw handle interfaces as a target?

  • I'm specifically looking to specify the interface, not the ip or network. May 17, 2011 at 22:54
  • 1
    This is a management workstation/cobbler/puppet server. It's got 4 interfaces connecting it to 4 different networks, 2 public networks & 1 multi-tenant network & 1 private management network. I want to make sure that the tftp,dhcp servers and other provisioning services are only available on the management network and not on the other networks. May 17, 2011 at 22:59

3 Answers 3


I finally read the man page:

By default, ufw will apply rules to all available interfaces. To
limit  this,  specify DIRECTION on INTERFACE, where DIRECTION is
one of in or out (interface aliases  are  not  supported).   For
example,  to  allow  all  new incoming http connections on eth0,

ufw allow in on eth0 to any port 80 proto tcp

To elaborate a little the answer is yes, ufw can use the interface as a target. My particular rule looked like this:

ufw allow in on eth1 to [eth1 ip addr] port 80 proto tcp

Yes, if eth1 is just a normal interface with its own IP address (and that IP address is what you're trying to grant access to):

ufw allow from any to [eth1 ip addr] port 80

But if there's anything more complicated than that, then we need more info about how this system is set up.

  • See my comments above, since it's possible that the tenants can change network settings and access that ip address this might not work out well. May 17, 2011 at 23:00
  • If they can change network settings then they have root and can change firewall rules, too, regardless of which software firewall is used. May 18, 2011 at 0:13

If you need to do forwarding with ufw (i.e routing traffic over an in & out interface):

ufw route allow in on eth0 out on br0 from to port 80,443 proto tcp

The Arch man page is very helpful

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.