I've come across a strange problem whereby configuring an interface
with DHCP lets my system run absolutely fine, but assigning a static
IP to the nic results in a system that can only speak to the local
subnet. I can ssh into it, but cannot connect to any machines on the
internet. The computer and internet connection are otherwise quite
functional.
In both cases, the adresses are in the same subnet, have the same
subnet mask and default gateway. Output of ifconfig and route -rn look
all but identical. In both cases, name resolution works just fine
also. Tcpdump shows that when I ping a machine external to my subnet,
outgoing packets are sent to the MAC address of my router. Only in the
case of the statically configured adress, I never get any response.
Handful of diagnostic information shown below. Evidently, I'm doing
something stupid and wrong, but I seem to be quite unable to recognise
what on earth it is. Does anyone have any suggestions?
When dhclient is used to configure interface (by doing dhclient sis0):
ifconfig sis0
sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:00:24:c3:d6:cc
groups: egress
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet6 fe80::200:24ff:fec3:d6cc%sis0 prefixlen 64 scopeid 0x1
inet 192.168.1.34 netmask 0xffffff00 broadcast 192.168.1.255
netstat -rn, minus ipv6 stuff
Destination Gateway Flags Refs Use Mtu Prio Iface
default 192.168.1.1 UGS 0 2 - 48 sis0
127/8 127.0.0.1 UGRS 0 0 33204 48 lo0
127.0.0.1 127.0.0.1 UH 2 0 33204 48 lo0
192.168.1/24 link#1 UC 1 0 - 48 sis0
192.168.1.1 00:13:49:b0:cb:91 UHLc 1 1 - 48 sis0
192.168.1.34 127.0.0.1 UGHS 0 0 33204 48 lo0
224/4 127.0.0.1 URS 0 0 33204 48 lo0
When adress is configured using following hostname.if file (either by
rebooting the box, or running /etc/netstart):
inet 192.168.1.200 255.255.255.0 NONE
ifconfig sis0
sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:00:24:c3:d6:cc
groups: egress
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet 192.168.1.200 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::200:24ff:fec3:d6cc%sis0 prefixlen 64 scopeid 0x1
netstat -rn, minus ipv6 stuff
Destination Gateway Flags Refs Use Mtu Prio Iface
default 192.168.1.1 UGS 0 3 - 48 sis0
127/8 127.0.0.1 UGRS 0 0 33204 48 lo0
127.0.0.1 127.0.0.1 UH 1 0 33204 48 lo0
192.168.1/24 link#1 UC 1 0 - 48 sis0
192.168.1.1 00:13:49:b0:cb:91 UHLc 1 1 - 48 sis0
224/4 127.0.0.1 URS 0 0 33204 48 lo0
Adding !route add default 192.168.1.1 to the end of the hostname.if
file has no effect. Adding in a route from 192.168.1.200 to 127.0.0.1
mimicking the extra route dhclient sets up has no effect.