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.

Reply via email to