"tcp 0 0 0.0.0.0:18332" but it's only listening at
sudo netstat -tulpn | grep 833
tcp 0 0 0.0.0.0:18333 0.0.0.0:* LISTEN 1641/bitcoin-qt
tcp6 0 0 :::18332 :::* LISTEN 1641/bitcoin-qt
tcp6 0 0 :::18333 :::* LISTEN
sudo netstat -tulpn | grep 833
tcp 0 0 127.0.0.1:18332 0.0.0.0:* LISTEN 1709/bitcoin-qt
tcp 0 0 0.0.0.0:18333 0.0.0.0:* LISTEN 1709/bitcoin-qt
tcp6 0 0 ::1:18332 :::* LISTEN 1709/bitcoin-qt
tcp6 0 0 :::18333 :::* LISTEN
as soon as I set rpcallowip to allow the LAN IP, it stops listening at all at this port (only at Ipv6)
really weird, right?
This is normal behavior even though it is a bit confusing.
Without rpcallowip, Bitcoin creates two separate listening sockets for RPC, one for each localhost address.
When you create a listening socket with IPv6 that's not bound to a specific IP, you have the option to allow the socket to listen on IPv4 at the same time. With an rcpallowip option, Bitcoin does just that: it creates a single socket, not bound to a specific address, that is listening to both IPv4 and IPv6. Such a socket will only be listed once by netstat, which definitely is confusing, but it's just the way things are.
In other words, you should be troubleshooting under the assumption that Bitcoin is listening to both IPv4 and IPv6. (Bitcoin Core 0.9.3 will have a way to specify which IPs to bind to, which if used will disable this behavior.)
I don't know where the problem does lie, but it's not where you're looking right now....