Solaris 10 routing problems

Anyone have routing working on Solaris 10?

Running S10_72 on a Dell Gx110 w/ 2 NICs. Trying to set it up to replace my Netgear router (and eventually configure IPv6 tunnel). having problems getting it to route packets. I turned off all of my ipfilters for debugging.

2 networks 10.10.1.x and 10.1.1.x no routing daemon, just static routes

Here are the parts of the ifconfig that matter, the output from routeadm and the routing table, along with a ping to hosts on each side and a tcpdump from the input interface elxl0 (the packets to be routed arrive here) the tcpdump on the side the packets should come out is empty (there are DNS packets and the like from the host, but no routed packets). What am I missing here?

elxl0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4>

inet 10.1.1.1 netmask ffffff00 broadcast 10.1.1.255

ether 0:b0:d0:85:e0:b4

iprb0: flags=1104843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,ROUTER,IPv4 >

inet 10.10.1.67 netmask ffffff00 broadcast 10.10.1.255

ether 0:a0:c9:98:1d:6b

# routeadm

Configuration Current Current

Option Configuration System State

IPv4 forwarding enabled enabled

IPv4 routing default (disabled) disabled

IPv6 forwarding disabled disabled

IPv6 routing disabled disabled

IPv4 routing daemon "/usr/sbin/in.routed"

IPv4 routing daemon args ""

IPv4 routing daemon stop "kill -TERM `cat /var/tmp/in.routed.pid`"

IPv6 routing daemon "/usr/lib/inet/in.ripngd"

IPv6 routing daemon args "-s"

IPv6 routing daemon stop "kill -TERM `cat /var/tmp/in.ripngd.pid`"

Routing Table: IPv4

DestinationGateway Flags Ref Use Interface

-- -- -- --

10.10.1.010.10.1.67U 1 26 iprb0

10.1.1.0 10.1.1.1U 1 2 elxl0

224.0.0.010.10.1.67 U 1 0 iprb0

default10.10.1.1UG 1 1 iprb0

127.0.0.1127.0.0.1UH 7 7281 lo0

PING 10.10.1.1: 56 data bytes

64 bytes from 10.10.1.1: icmp_seq=0. time=1.67 ms

-10.10.1.1 PING Statistics-

1 packets transmitted, 1 packets received, 0% packet loss

round-trip (ms) min/avg/max/stddev = 1.54/1.61/1.67/-NaN

PING 10.1.1.2: 56 data bytes

64 bytes from 10.1.1.2: icmp_seq=0. time=0.659 ms

-10.1.1.2 PING Statistics-

1 packets transmitted, 1 packets received, 0% packet loss

round-trip (ms) min/avg/max/stddev = 0.592/0.625/0.659/-NaN

tcpdump -vv -e -i elxl0

15:24:17.414252 00:c0:9f:20:16:a8 > 00:b0:d0:85:e0:b4, ethertype IPv4 (0x0800), length 98: IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], length: 84) 10.1.1.2 > 10.10.1.1: icmp 64: echo request seq 30213

[3186 byte] By [] at [2007-11-25 22:42:06]
# 1

The key thing is in your routeadm output. By default in Solaris 10 IP forwarding and routing are off.

To enable IPv4 forwarding, as you have, you can set

routeadm -e ipv4-forwarding

To enable routing, use

routeadm -e ipv4-routing

To make your changes take effect and start the routing daemon, use

routeadm -u

Use the same commands (with ipv6) to enable the IPv6 routing and forwarding.

These changes persist across a reboot.

This should take care of your problem.

at 2007-7-5 14:20:22 > top of Java-index,General,Network Configurations...
# 2

As you can see by my output I have already enabled routing via routeadm and have rebooted several times. It still doesn't work.

I actually went through the trouble of reformating the drive and installing a completely clean version of S10_72, then performed minimal commands to try to get routing working (routeadm) and it doesn't work.

Best I can tell from what I have seen it's just plain broken! I can see the packets arriving at the interface with an Ethernet header of the solaris box, and an IP header that requires forwarding (with tcpdump) and the packets just don't get forwarded. It's smart enough to reply to pings for all of it's interfaces.

at 2007-7-5 14:20:22 > top of Java-index,General,Network Configurations...
# 3

Hi there,

i have exactly the same problems on solaris 10 / x86.

After all i tested, i still can't get the ipv4_forwarding to work properly. I can "see" the packages from the client host, but the system don't forward it!

I also tried to enable the routing mode manualy with "ipconfig elxl0 router", etc..., but no success ;(

Have any of you an idea?

at 2007-7-5 14:20:22 > top of Java-index,General,Network Configurations...
# 4

Hi,

I have a Sunfire V100 - and have the exact same problem. The settings are correct; I have configure dual-NIC cards many times in the past - but this issue is simply eluding me. I can swap in a Linux machine in router / ip forwarding mode and there are no problems, but when I put back in the Sunfire I encounter the same issues you have.

In effect, packets from the LAN arrive at the NIC on the Solaris machine, but then don't get forwarded to the other NIC's gateway. I'm at a loss, but I have seen this problem pop-up (without answer) a half-dozen times in this forum alone, and multiple times on different support sites. Did you (or anyone) ever come across a solution for this? Is this not some easily overlooked yet possibly cryptic flag or variable that I've missed? Anyone?

at 2007-7-5 14:20:22 > top of Java-index,General,Network Configurations...
# 5

Count me in as another one with these problems.

V40Z. Brand new Solaris 10 install and have checked all the issues, have routeadm enabled, and even tried sys-unconfig and did it all over again.

No luck at all. Have a call into Sun, but curious if anyone finds the answer.

at 2007-7-5 14:20:22 > top of Java-index,General,Network Configurations...
# 6

Count me in on this one. I have a zone setup and wish to use ipnat, but need ipv4 forwarding. I have tried everything, but I cannot get the current system state to enabled. Performed the following:

routeadm -e -u ipv4-forwarding - no luck

I tried

routeadm -e ipv4-forwarding

routeadm -u

no luck.

brentski at 2007-7-5 14:20:22 > top of Java-index,General,Network Configurations...
# 7

Guys, as I understand you have a router with 2 ip addresses: (for example 192.168.10.1/24 and 192.168.20.1/24) and the client with the following ip's: 192.168.10.100 and 192.168.20.100

The router was configured according to SUN documentation.

And ping from 192.168.10.100 to 192.168.20.100 doesn't work

I solve this problem using following steps:

1)

on the 192.168.10.100:

# route add net 192.168.20.0 -netmask 255.255.255.0 192.168.10.1

2)

Try to ping 192.168.20.100 from 192.168.10.100

Ping doesn't work.

3)

on the 192.168.20.100:

# route add net 192.168.10.0 -netmask 255.255.255.0 192.168.20.1

4)

And now ping works fine from 192.168.10.100 to 192.168.20.100 and from 192.168.20.100 to

192.168.10.100

Ivan_B at 2007-7-5 14:20:22 > top of Java-index,General,Network Configurations...
# 8
I have been seeing reports from people unable to get solaris 10 to be a ipv4 router for years and never seen anyone report a solution.I get the impression that functionality is just plain broken. I'd log a job myself but Ive never needed that functionality :-)
robertcohen at 2007-7-5 14:20:22 > top of Java-index,General,Network Configurations...
# 9

In the cases I've seen, I've thought it more to do with the people not understanding how routing should work (local subnet routing to internet without NAT being the most common).

There's some little bits and pices that are different, but overall no major changes with S10 that should suddenly break it. Several folks have reported it working fine.

--

Darren

Darren_Dunham at 2007-7-5 14:20:22 > top of Java-index,General,Network Configurations...