The server based ds-lite client is similar to the linksys based client except it can support more hosts and generate lots more traffic to the ds-lite CGN. It is meant to use for performance tests and/or to support large number of hosts. For example, we can deploy this client next to the wifi access point (AP) and bridge the wireless AP's aggregate to the client. This will enable the campus or office to provide ds-lite service to hundreds of wifi users.
All our ds-lite client tests are done on Fedora 10 x86. If you are using different linux flavors, the recommended kernel is 2.6.25 or newer.
We use a server with two GE interfaces. First one is provisioned with an IPv6 address to connect to an IPv6 network. Second one is the normal LAN interface to connect to the hosts (via L2 switch or L2 wireless AP). The LAN interface is dual-stack.
All parameters are static configured. It is possible to run dhcpv6 client to behave exactly the same way the linksys client does today, but we didn't test it.
iptools network untility package is required.
ip6_tunnel must be compiled into your kernel or available as a module.
This session provides the simple steps to setup the server. All configurations are done statically on Fedora 10 x86_64.
Note that We didn't setup the DNS proxy to advertise the server itself as DNS server to the IPv4 hosts. In order to provide ds-lite service to the IPv4 hosts, the server MUST be configured to support the DNS proxy function and forward the DNS request over IPv6.
IPv6 Networking must be enabled:
[ylee@test ~]$ cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=yes
IPv6 routing must be turned on. Add the following lines to /etc/sysctl.conf:
net.ipv6.conf.all.forwarding = 1 net.ipv6.conf.all.mc_forwarding = 0 net.ipv6.conf.default.forwarding = 1 net.ipv6.conf.default.mc_forwarding = 0 net.ipv6.conf.lo.forwarding = 1 net.ipv6.conf.lo.mc_forwarding = 0 net.ipv6.conf.eth0.forwarding = 1 net.ipv6.conf.eth0.mc_forwarding = 0 net.ipv6.conf.eth0.forwarding = 1
Set the IPv6 default route pointing to Eth0.
[ylee@test ~]$ sudo ip -6 route add default dev eth0
[ylee@test ~]$ sudo modprobe ip6_tunnel [ylee@test ~]$ sudo ip -6 tunnel add dsltun mode ipip6 \ remote <dslite cgn address> \ local <Eth0's IPv6 address> dev eth0 [ylee@test ~]$ sudo ip link set dev dsltun up [ylee@test ~]$ sudo ip route add default dev dsltun
The last command adds the IPv4 default route to the server to forward all IPv4 packets to the ds-lite interface dsltun.