当前位置: > 其它学习 > IPv6 >

linux下NAT内网连通IPv6的实现

时间:2019-03-05 17:29来源:未知 作者:IT
网络拓扑图如下:
 
 
 
 
·        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
 

 


(责任编辑:IT)
------分隔线----------------------------