Thanks Peter. I could have sworn I checked and rechecked exactly which
interface is which, but clearly not enough times :-). The problem
being that while they have distinct MAC addresses due to being from
different manufacturers, they both use the RL driver. Your suggestion
for confirming which ifconfig listing corresponds to which physical
network card is great. So making progress, but not done yet.

As it stands now, I set rl0 as the LAN interface and rl1 for WAN. And
I have confirmed that plugging and unplugging the network cable from
each results in ifconfig showing "active" or "no carrier" for the
correct interface.

On the LAN side (rl0), it is issuing DHCP addresses to clients, and
once it does so, I can ping from a DHCP client to both the LAN and WAN
IP address of OpenBSD (so the IPv4 forwarding seems to work, yay), and
also from OpenBSD to the DHCP-issued IP address of the other system.
Ssh (both directions, from Ubuntu to OpenBSD and vice versa) seems to
hang, after the SSH host key has been received and verified, according
to ssh -v (it stops on SSH2_MSG_SERVICE_ACCEPT received). It may
succeed, but simply be slow, I have to run it again to see if it times
out (I cancelled it), but then the slower system is 600Mhz and they
are 1 meter from each other with a known good ethernet cable so how
long should it take?. So it should not be blocked by pf I don't think,
but again, not certain. Have to figure that one out as I use ssh a
lot. One minor note, somehow Ubuntu "abandons" the DHCP lease
(according to /var/db/dhcpd.leases on OpenBSD) and gets a new one.
Maybe a bug in the Ubuntu dhclient implementation. Not too worried
about it now as long as it maintains/reestablishes connection ok.

WAN (rl1) is still problematic. Still no outbound ping to ISP gateway
(I've verified the same works from Ubuntu with static IP, so ICMP is
not blocked/dropped by them from what I can  tell). I retried after
pfctl -F all and also after pfctl -d, so I believe this part of the
problem is due to routing (mis)configuration alone, more than pf. From
OpenBSD, I can ping both the LAN and WAN interface on OpenBSD itself,
so I think the hostname.rl0 and hostname.rl1 files should be in decent
shape.

This is the output of netstat -rn (long! keep in mind almost
everything is put there automatically at boot time by /etc/mygate or
when I execute route add from the terminal, aside from the default
gateway little or nothing is added by me. It also shows how the DHCP
lease was abandoned, as one single MAC addr. shows two IPs 192.168.6.8
and .9 even though I only ran dhclient once on the client system):

Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            188.126.4.1        UGS        1     7188     -     8 rl1
127/8              127.0.0.1          UGRS       0        0 33192     8 lo0
127.0.0.1          127.0.0.1          UH         1        0 33192     4 lo0
188.126.4/24       link#3             UC         2        0     -     4 rl1
188.126.4.1        00:30:48:b8:c5:83  UHLc       1       72     -     4 rl1
188.126.4.24       4c:00:10:3c:23:5c  UHLc       0        6     -     4 lo0
192.168.6/24       link#1             UC         3        0     -     4 rl0
192.168.6.6        00:40:f4:44:07:56  UHLc       0        6     -     4 lo0
192.168.6.8        00:80:ad:00:7c:ca  UHLc       1       44     -     4 rl0
192.168.6.9        00:80:ad:00:7c:ca  UHLc       0       70     -     4 rl0
224/4              127.0.0.1          URS        0        0 33192     8 lo0

Internet6:
Destination                        Gateway
Flags   Refs      Use   Mtu  Prio Iface
::/104                             ::1                            UGRS
      0        0     -     8 lo0
::/96                              ::1                            UGRS
      0        0     -     8 lo0
::1                                ::1                            UH
     14        0 33192     4 lo0
::127.0.0.0/104                    ::1                            UGRS
      0        0     -     8 lo0
::224.0.0.0/100                    ::1                            UGRS
      0        0     -     8 lo0
::255.0.0.0/104                    ::1                            UGRS
      0        0     -     8 lo0
::ffff:0.0.0.0/96                  ::1                            UGRS
      0        0     -     8 lo0
2002::/24                          ::1                            UGRS
      0        0     -     8 lo0
2002:7f00::/24                     ::1                            UGRS
      0        0     -     8 lo0
2002:e000::/20                     ::1                            UGRS
      0        0     -     8 lo0
2002:ff00::/24                     ::1                            UGRS
      0        0     -     8 lo0
fe80::/10                          ::1                            UGRS
      0        0     -     8 lo0
fe80::%rl0/64                      link#1                         UC
      0        0     -     4 rl0
fe80::240:f4ff:fe44:756%rl0        00:40:f4:44:07:56              HL
      0        0     -     4 lo0
fe80::%rl1/64                      link#3                         UC
      0        0     -     4 rl1
fe80::4e00:10ff:fe3c:235c%rl1      4c:00:10:3c:23:5c              HL
      0        0     -     4 lo0
fe80::%lo0/64                      fe80::1%lo0                    U
      0        0     -     4 lo0
fe80::1%lo0                        link#5                         UHL
      0        0     -     4 lo0
fec0::/10                          ::1                            UGRS
      0        0     -     8 lo0
ff01::/16                          ::1                            UGRS
      0        0     -     8 lo0
ff01::%rl0/32                      link#1                         UC
      0        0     -     4 rl0
ff01::%rl1/32                      link#3                         UC
      0        0     -     4 rl1
ff01::%lo0/32                      fe80::1%lo0                    UC
      0        0     -     4 lo0
ff02::/16                          ::1                            UGRS
      0        0     -     8 lo0
ff02::%rl0/32                      link#1                         UC
      0        0     -     4 rl0
ff02::%rl1/32                      link#3                         UC
      0        0     -     4 rl1
ff02::%lo0/32                      fe80::1%lo0                    UC
      0        0     -     4 lo0

Is /etc/mygate the correct way to route on a system with two or more
NICs (IP addresses) or is it better to put route add commands in each
hostname file for the appropriate NIC? (i.e route traffic for the
internet via rl1, and traffic for 192.168.whatever via rl0)

Something else I had not noticed before, the ISP has BGPd running
accrding to nmap under Ubuntu, which it occurred to me might explain a
lot of this, though again, it isn't logical why it works on Ubuntu but
not OpenBSD, but if I need for example a BGP client installed and
configured that might sort it out. No such client or server installed
under Ubuntu though, so that seems unlikely.

Reply via email to