Díky za vysvětlení, ale tímhle způsobem jsem to chápal i předtím. Přesto si myslím, že můj ISP to má udělané nějak jinak - a to tak, že se veřejná IP na jeho serveru překládá na mojí IP, kterou mi přidělil.
honza@delfin:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:04:75:76:04:51 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.1/24 brd 192.168.10.255 scope global eth0
inet6 fe80::204:75ff:fe76:451/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:e0:7d:75:5b:b2 brd ff:ff:ff:ff:ff:ff
inet 192.168.68.9/24 brd 192.168.68.255 scope global eth1
inet6 fe80::2e0:7dff:fe75:5bb2/64 scope link
valid_lft forever preferred_lft forever
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/[65534]
inet 192.168.30.1 peer 192.168.30.2/32 scope global tun0
honza@delfin:~$ ip r
192.168.30.2 dev tun0 proto kernel scope link src 192.168.30.1
192.168.68.0/24 dev eth1 proto kernel scope link src 192.168.68.9
192.168.30.0/24 via 192.168.30.2 dev tun0
192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.1
default via 192.168.68.100 dev eth1 metric 100
Moje IP adresa je určitě veřejná - není to "jen přesměrování některých portů" - a nebo je, ale náhodou mi povolil http, ssh, ftp a openvpn, protože všechny tyto služby mi bezproblémů fungují - opravdu jedinou výjimkou jsou ti dva kamarádi. Zajímavé je - jak jsem psal - že mi nejde ping na moji vlastní veřejnou adresu - jako kdyby v síti ISP žádný router o té veřejné adrese nevěděl, což si vysvětluju něčím takovým, jak jsem psal výše.