• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 672
  • Last Modified:

Linux firehol/iptables on server


I have been looking different firewalls for Linux Centos 5.5 and have decided that firehol will be the easiest way to implement iptables.
However I need help configuring it. This is my senario...

I have a (physical) server sitting in a datacenter, it has one Ethernet network connection (to the internet). The server will be running VoIP for around 20 businesses so I want to restrict access to the server based on IP addresses as well as ports, as all the customers will have static IP Addresses.
So only authorized customers will be able to access the server and then only to authorized ports.

How would I accomplish this using iptables and firehol?

1 Solution
Just skip firehol and edit the /etc/sysconfig/iptables file directly to build your firewall. For example:

-A INPUT -s <source IP here> -m state --state NEW -m tcp -p tcp --dport <tcp port here> -j ACCEPT

Please don't take this the wrong way, but if you don't know linux basics like iptables, you have no business hosting phone services to other businesses. Voice is a mission critical application, you REALLY need to know what you're doing when providing a service like that. Imagine if there is an emergency and people can't dial 911 because you didn't configure something right...
I normally use iptables direclty but if you minsist on using firehol then the sintax should be something like:
interface eth0 internet
      server <service_name>  accept src "IP1 IP2 IP3 ..."

service_name is your service if found on list: http://firehol.sourceforge.net/services.html. Otherwise you have to define it: http://firehol.sourceforge.net/adding.html

You will probably also accept some ssh traffic from your IP and other
mark_06Author Commented:
Hi jar3817, I understand where you are coming from regarding Linux. A project like this is a team effort, not a one man job. I am a Cisco man myself I would consider myself an expert on VoIP, it's just linux isn't my platform. I am  working on this with another person who is a Linux guru, however he is away for a few weeks and I don't want to wait for him to get back before I start internal testing, but then I don't want to make the server live without restricting access to it.

Thanks for your suggestions guys I will give them a go!
  I would suggest using Shorewall. It has a simple configuration syntax and is well supported by the community.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

We Need Your Input!

WatchGuard is currently running a beta program for our new macOS Host Sensor for our Threat Detection and Response service. We're looking for more macOS users to help provide insight and feedback to help us make the product even better. Please sign up for our beta program today!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now