The main differences to a normal DSL setup are:
Itīs not mandatory, but you should consider getting network equipment capable of
Otherwise you might slow down your LAN or W-LAN with Multicast traffic.
Let´s start with the easy part, PPPoE via VLAN. In short you just have to create
a VLAN interface that listens for tagged packets on VLAN ID 7 and make it your PPPoE parent interface.
Assuming your PPPoE interface is vr1, use your favourite editor to create
and put in the following
vlan 7 vlandev vr1 up
You could also call your VLAN interface vlan0 instead of vlan7 but as we have to use vlan id 7, I
vote for vlan7.
Then configure the PPPoE pseudo device.
A VDSL login is constructed the same way as T-DSL:
should look something like this. Note that pppoedev is vlan7.
inet 0.0.0.0 255.255.255.255 NONE \ pppoedev vlan7 authproto pap \ authname firstname.lastname@example.org authkey 12345678 \ up dest 0.0.0.1 !/sbin/route add default -ifp pppoe0 0.0.0.1
Remember to chmod 600 /etc/hostname.pppoe0 as it contains sensible data.
Add multicast_router=YES to /etc/rc.conf.local .
I am using the following modification to /etc/sysctl.conf
net.inet.tcp.mssdflt=1452 net.inet.tcp.recvspace=131072 net.inet.tcp.sendspace=131072 net.inet.udp.recvspace=139264 net.inet.udp.sendspace=32768 net.inet.ip.mforwarding=1Multicast forwarding is mandatory for IPTV, the rest of the values have proven to speed up my connection.
That´s all for the data connection.
You can either reboot now to activate the changes or if you´re the non-rebooting type
just ifconfig it up by hand. Be careful with your login data!
If you mistype the password 9 times, T-Home will lock you out for 24 hours.
Choose some T-Home DNS servers from here
and put them in your /etc/resolv.conf or set up your own caching nameserver.
You should now be able to
# ping www.heise.de PING www.heise.de (18.104.22.168): 56 data bytes 64 bytes from 22.214.171.124: icmp_seq=0 ttl=250 time=23.687 ms 64 bytes from 126.96.36.199: icmp_seq=1 ttl=250 time=23.370 ms
Check out or untar a recent OpenBSD ports tree (gerenal info handling ports can be found
igmpproxy is part of the official OpenBSD ports since 2008-02-09.
# cd /usr/ports/net/igmpproxy # make # make installthen create /etc/igmpproxy.conf. My LAN interface is vr0, my WAN interface vr1 and I also have an unused spare interface vr2.
quickleave phyint pppoe0 upstream ratelimit 0 threshold 1 altnet 188.8.131.52/24 altnet 184.108.40.206/24 altnet 220.127.116.11/16 phyint vr0 downstream ratelimit 0 threshold 1 phyint vr1 disabled phyint vr2 disabledThe altnet nets are the T-Home multicast networks we need. Now we can start igmpproxy using
# /usr/local/bin/igmpproxyTo see what it´s doing you may want to start it with
# /usr/local/bin/igmpproxy -dat first.
Nearly finished now, we just need a few extra pf rules to allow multicast/igmp traffic.
Add a variation of the following to your setup. You can always tighten the ruleset,
these are just to get you started. They do not reflect my actual ruleset.
You need to allow-opts on the igmp rules, keep state has been omitted as it is default now.
scrub on $LANINT scrub on $WANINT random-id max-mss 1452 reassemble tcp fragment reassemble [...] pass in on $WANINT inet proto igmp to 18.104.22.168/4 allow-opts pass in on $WANINT inet proto udp to 22.214.171.124/4 [...] pass out on $WANINT inet proto igmp from $WANIP to 126.96.36.199/4 allow-opts [...] pass in on $LANINT inet proto igmp from $SETTOPBOX to 188.8.131.52/4 allow-opts pass in on $LANINT inet proto udp from $SETTOPBOX pass in on $LANINT inet proto tcp from $SETTOPBOX [...] pass out on $LANINT inet proto igmp from $LANIP to 184.108.40.206/4 allow-opts pass out on $LANINT inet proto udp to 220.127.116.11/4Enjoy!
If you have any suggestions, found mistakes or whatever, contact me.
lists (at) underscore.de
last modified 12 February 2008