linux下NAT内网连通IPv6的实现
网络拓扑图如下:· eth0为网关WAN口,接入广域网。· eth1为网关LAN口,接入局域网。主要配置:1. linux服务器接口的ipv6地址配置# sysctl net.ipv6.conf.all.forwarding=1 //打开ipv6转发功能;#ip addr add 2001:250:1006:5066:
网络拓扑图如下:
· eth0为网关WAN口,接入广域网。
· eth1为网关LAN口,接入局域网。
主要配置:
1. linux服务器接口的ipv6地址配置
# sysctl net.ipv6.conf.all.forwarding=1 //打开ipv6转发功能;
#ip addr add 2001:250:1006:5066::100/64 dev eth1 //配置lan口ipv6地址,即内网的网关,前64位与wan口的相同;
#ip addr add 2001:250:1006:5066:216:d3ff:fe25:93ff/64 dev eth0 // 配置wan口ipv6地址,即从广域网获得的IPv6地址;
# ip -6 route add ::/0 via 2001:250:1006:5066::1 dev eth0 metric 256 //添加默认路由,即广域网所给的网关;
2.配置radvd为局域网自动配置网络信息
安装radvd #yum install radvd
配置/etc/radvd.conf
interface eth1
{
AdvSendAdvert on;
MinRtrAdvInterval 30;
MaxRtrAdvInterval 100;
prefix 2001:250:1006:5066::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
打开radvd: #radvd
此时局域网内的计算机应该已经获得了 2001:250:1006:5066:
开头的IPv6地址。由于没有向ISP申请单独的IPv6地址块,这里不可能在外网上添加路由,同时,由于内网与外网同属一个子网(2001:250:1006:5066/64),也不可能想外网广播路由信息包,这样会造成路由混乱。Linux 提供了一个 proxy_ndp
选项,可以让外网的ndp请求穿过网关。
3.配置npd6
#sysctl net.ipv6.conf.all.proxy_ndp=1 //开启proxy_ndp功能;
编译安装npd6
#svn checkout http://npd6.googlecode.com/svn/trunk/ npd6
#cd npd6
#make
#make install
#mv /etc/npd6.conf.sample /etc/npd6.conf
#vi /etc/npd6.conf
主要修改2项:
prefix = 2001:250:1006:5066:
interface = eth0 #这里要写WAN网卡
启动npd6
#npd6
现在内网就已经可以与外网正常通信了。如果不能通信就在你的内网电脑上开个终端,一直ping着内网网关,即ping 2001:250:1006:5066::100 -t
更多推荐
所有评论(0)