昨天有 V2EX 的朋友 @
nolan1864 问如何启用 IPv6 地址,这里简单说下我自己是如何实现的。本人使用环境 ubuntu 1404 lts
首先 apt 安装必须的安装包:
apt-get install build-essential libwrap0-dev libpam0g-dev libdbus-1-dev libreadline-dev libnl-route-3-dev libprotobuf-c0-dev libpcl1-dev libopts25-dev autogen libgnutls28-dev libseccomp-dev libtalloc-dev gperf liblz4-1 liblz4-1 liblz4-dev liblz4-tool dnsmasq
启用 LZ4 压缩:
cd /usr/local/src
wget
https://github.com/Cyan4973/lz4/archive/r129.tar.gz -O lz4-r129.tar.gz
tar -zxf lz4-r129.tar.gz
cd lz4-r129
make && make install
编译 ocserv :
cd /usr/local/src
wget
ftp://ftp.infradead.org/pub/ocserv/ocserv-0.10.9.tar.xztar xvf ocserv-0.10.9.tar.xz
cd ocserv-0.10.9
sed -i 's/define DEFAULT_CONFIG_ENTRIES 96/define DEFAULT_CONFIG_ENTRIES 200/g' src/vpn.h
./configure --prefix=/usr --sysconfdir=/etc
make && make install
修改 sysctl.conf 文件开启 ipv4 以及 ipv6 转发功能
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding=1
启用 iptables 规则:
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-solicitation -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type redirect -m hl --hl-eq 255 -j ACCEPT
以上几个比较重要的步骤都写清楚了,剩下的就是编辑 ocserv.conf 文件,将 ipv6 地址池加入,一般就可以访问了。如果服务器本身无 ipv6 ,则去 tunnelbroker 申请一下一样能用。 Ocserv 官网介绍说支持
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/234058
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.