Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My FreeBSD 9.1 has 3 interfaces:

de0 - Internet

de1 - LAN

de2 - DMZ which I have just added

default gateway

I have one host on DMZ

i have gateway_enable="YES" in /etc/rc.conf

I have added a route: route add

On the DMZ host i put default gateway as

For now I have turned firewall(pf) off. However, now when I ping from outside it doesn't reach.

The IP block is given by provider.

What could be the problem reaching


share|improve this question
tcpdump -n dst shows me "ARP, Request who-has tell" – epema Jun 26 '13 at 17:50
core issue is that you have two interfaces in the same network on the same device – emynd Jun 26 '13 at 18:28
You can fix two ways: 1) create static route on your providers edge router that to route to; 2) plug both interfaces into the same broadcast domain (vlan/dumb switch/etc) – emynd Jun 26 '13 at 18:35
I want everything go through the gateway( Why do I need to do (1) ? – epema Jun 26 '13 at 19:00
concept of broadcast domains is why. your carrier gave you - 48 as a network range. This is one block. Their gear thinks that anything on said block is directly connected to them. Therefore, when a request comes in for something on that block, if their gear doesn't know about it, it sends an ARP request, which your server sees on the interface; server doesn't reply because isn't on that interface. In order for you to put part of this block on the other side of your device (ie: using a different interface) their router will need to know how to route to it. – emynd Jun 26 '13 at 19:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.