• Welcome to Hurricane Electric's IPv6 Tunnel Broker Forums.

Anyone want to start up a Polipo-driven IPv6 web accelerator?

Started by mpadams, January 26, 2010, 09:34:46 PM

Previous topic - Next topic

mpadams

For giggles, I threw Polipo on my work's VPN router-CPU and set it to allow only 2000::/3 to connect to it: its working great over my home HE.net tunnel. Since HE's already doing Google DNS provisioning, would it also be feasible to setup a common IPv6 web accelerator we all could use? Set it to run in memory-only, use a Linux box that can use TCP Illinois (I use this on my Ubuntu boxes) or TCP Westwood, and you've got a decent HTTP 1.1 cache with optimized TCP. I am posting config snippets that can be modified for others' use.

/etc/polipo/config

proxyAddress = "::0"
allowedClients = 2000::/3
chunkHighMark = 50331648
objectHighMark = 16384
diskCacheRoot = ""

/etc/sysctl.conf (forwarding=0 for non-routers)

#--- Kernel stuff ---
kernel.printk = 4 4 1 7
fs.inotify.max_user_watches = 524288
#--- IPv6 ---
net.ipv6.conf.all.forwarding=1
#--- IPv4 routing ---
net.ipv4.ip_forward=1
net.ipv4.icmp_echo_ignore_broadcasts = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.tcp_syncookies=0
# --- IP tuning ---
net.core.rmem_max=524288
net.core.wmem_max=524288
net.ipv4.tcp_rfc1337=1
net.ipv4.route.flush=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_sack=1
net.ipv4.tcp_fack=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_low_latency=1
net.ipv4.tcp_ecn=1
net.ipv4.tcp_fin_timeout=10
net.ipv4.ip_no_pmtu_disc=0
# --- 2.6 options ---
#net.ipv4.tcp_congestion_control=westwood
net.ipv4.tcp_congestion_control=illinois
net.ipv4.tcp_frto=2
net.ipv4.tcp_frto_response=2
net.ipv4.tcp_workaround_signed_windows=1
net.ipv4.tcp_mtu_probing=1
# --- Server tweaks ---
net.core.somaxconn=5000
net.core.netdev_max_backlog=5000
net.ipv4.conf.default.rp_filter=1
net.ipv4.tcp_mtu_probing=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1

TCP Congestion Control

Add "tcp_westwood" or "tcp_illinois" to your /etc/modules , depending on which one you plan to use. Works on any Ubuntu variant since late 2008.

References

* Polipo homepage: http://www.pps.jussieu.fr/~jch/software/polipo/
* TCP Illinois: http://en.wikipedia.org/wiki/TCP-Illinois
* TCP Westwood: http://en.wikipedia.org/wiki/TCP_Westwood_plus