I'm trying to setup a small LAN, using an Ethernet switch, an Arch Linux server, and around 10 Windows XP machines. This network has no outside connections.

The Arch machine has a self configured ip address (configured with ip addr add dev eth0), and acts as a DHCP server(using dhcpd). This portion works great, windows clients get IP addresses, the correct gateway settings, perfect.

However, the clients cannot connect to each other, or to the dhcp server. When I run ping on any client, I get no response, same happens if I try to ping any other client.

On the gateway machine, I can't ping any of the clients either.

Any help would be much appreciated!

  • What if you ping some other public site, what happens then? If it fails to a site that should be pingable your router may have some funky routing going on. – Brent Pabst Sep 25 '12 at 21:45
  • 1
    Are yo certain that the Linux box is the only DHCP server, and you don't have some other rogue DHCP server running? If you disconnect the Linux box, and restart a client does it still get an address? - Or with the Linux box connected, run tcpdump -qni {inside} where inside is the inside interface. Do you see the incoming ICMP ECHO packets? Do you see replies? Do you see anything? – Zoredache Sep 25 '12 at 21:47
  • @BrentPabst, there is no other public site, because the LAN is entirely self contained. – magmastonealex Sep 25 '12 at 22:08
  • 1
    What exactly is the network topology like? One single switch with the (1) arch server running dhcpd and (10) windows clients plugged in? Can you try a different switch? Try to set up one of the clients with static I.P. and gateway and see if you can ping the Arch Linux machine. Are there any firewalls set up on the Arch Linux machine? – senorsmile Sep 25 '12 at 22:47
  • 1
    It's in the dhcp server settings then. I'm willing to bet the dhcp clients don't have the proper gateway address after they get their I.P. – senorsmile Sep 25 '12 at 23:14

Disable the Windows Firewall on a client. Run tcpdump -n -i eth0 icmp on the server. Download WinDump and run windump -n -i 1 icmp on the client (provided the client has only one interface, run windump -D to list all available interfaces). Run ping in either direction, i.e. from client to server as well as from server to client. Do you see any ICMP packets on either side?


This was solved by adding a default route with ip route add 0/0 via dev eth0. This allowed the server to ping all clients, and all clients to ping back.

  • that may haev fixed it, but that can't be the cause of the problem. what subnet mask is your DHCP server handing out? – longneck Sep 26 '12 at 21:33
  • Also, I highly recommend using netcfg to set up networking on Arch Linux. See wiki.archlinux.org/index.php/Netcfg. – senorsmile Sep 26 '12 at 21:40
  • @longneck, – magmastonealex Sep 27 '12 at 22:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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