NAT64采用tayga实现,DNS64采用bind9.8实现。
1 平台搭建
平台为ubuntu12.04 Desktop版本。正常安装即可。
2 NAT64 (tayga)
2.1 安装
在终端模式下输入
sudoapt-get install tayga
2.2 配置
2.2.1 相关设置
Sudo gedit /etc/tayga.conf
按照说明配置,目前实现方案不需要修改。
2.2.2 创建、启动设备
tayga–mktun
iplink set nat64 up
2.2.3 地址、路由配置
ip addr add192.168.0.1dev nat64(修改为本机IPv4地址)
ip addr add2001:db8:1::1dev nat64 (修改为本机IPv6地址)
ip route add 192.168.255.0/24 dev nat64(不需要修改)
ip route add 2001:db8:1:ffff::/96 dev nat64(不需要修改)
2.2.4 启动IPv4、IPv6转发
sysctl -w net.ipv4.conf.all.forwarding=1
sysctl -w net.ipv6.conf.all.forwarding=1
2.2.5 启动tayga
tayga
可使用tayga –d进入debug模式。
ping6 2001:db8:1:ffff::192.168.0.1((修改为本机IPv4地址))
2.2.6 NAT44 设置
iptables -t nat -A POSTROUTING -s192.168.255.0/24 -j SNAT --to-source192.168.0.1(修改为本机IPv4地址)
iptables-A FORWARD -s 192.168.255.0/24 -i nat64 -j ACCEPT
3 DNS64 bind9
3.1 安装
sudo apt-get install bind9
3.2 配置
sudo gedit /etc/bind/named.conf.options
修改为如下:
options {
directory "/var/cache/bind"
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk.Seehttp://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addressesreplacing
// the all-0's placeholder.
listen-on-v6 { any}
allow-query { any}
dns64 2001:db8:1:ffff::/96 {
clients { any}
}
forwarders {
159.226.8.7
}
//=================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys.See https://www.isc.org/bind-keys
//================================================================
dnssec-validation auto
auth-nxdomain no#conform to RFC1035
listen-on-v6 { any}
}
修改完成后,输入named.conf查看修改是否成功。
3.3 启动bind9
Bind9默认安装后开机启动。设置完成后,输入
/etc/init.d/bindrestart
4 使用
4.1 Windows
用管理员权限进入cmd,输入
netsh
>interfaceipv6
>add route 2001:db8:1:ffff::/96 "本地连接"2001:db8:1::1(修改为机器的ipv6地址)(为服务器的ipv6地址)
然后设置DNS服务器为NAT64地址即可
4.2 Linux
添加路由
ip route add 2001:db8:1:ffff::/96 via2001:db8:1::1(修改为机器的ipv6地址)
然后设置DNS服务器为NAT64地址即可(为服务器的ipv6地址)
服务器地址:192.168.130.42
2400:dd01:1001:130:250:c2ff:fe23:f051/64
>�0:H�+
ubuntu下面安装dns服务器使用dnsmasq
dnsmasq是一个Linux平台下的轻量级DNS 代理软件,我们只将其配置成一个简单的本地DNS Server。另外此软件最新版本含有DHCP Server以及TFTP Server的功能,这些功能默认都是关闭的, 根据依赖关系可能会安装其他包。
(如dnsmasq-base等, 但Ubuntu 10.04 Desktop已默认安装过,但在安装时可能会自动升级dnsmasq-base)。
打开文件/etc/dnsmasq.conf(安装后默认此配置文件内的所有参数都被注释掉), 找到参数resolv-file和addn-hosts, 去掉注释符号#后修改成如下值。
此处resolve-file指定dnsmasq从哪里获取上行DNS Server, 默认是从/etc/resolv.conf获取。
因为dnsmasq本是一个DNS代理软件而非Server, 我们只是利用dnsmasq的缓存功能来实现DNS Server, 故而要将上行server指定为本机地址, 在文件/etc/dnsmasq/dnsmasq.resolv中指定nameserver为127.0.0.1即可。
addn-hosts指定dnsmasq从哪个文件中读取“地址 域名”记录, 默认是系统文件/etc/hosts, 此处我们指定从自定义文件/etc/dnsmasq/dnsmasq.hosts中读取。
创建文件夹/etc/dnsmasq/(这里的文件夹是上一步中地址的两个文件所在目录, 可以自己任意指定, 但要和上一步中的保持一致), 并添加文件/etc/dnsmasq/dnsmasq.resolv和/etc/dnsmasq/dnsmasq.hosts。
添加一行内容到/etc/dnsmasq/dnsmasq.resolv文件中
添加自定义的“地址 域名”记录到文件/etc/dnsmasq/dnsmasq.hosts中, 支持IPv6地址, 例如:
可以任意添加自己的本地DNS Server可解析的“地址 域名”记录, 注意必须重新启动dnsmasq才可以使更新生效(也可以发送信号SIGHUP给dnsmasq进程, 具体请参考dnsmasq帮助文档, Shell命令man dnsmasq)。
实际上dnsmasq是将这些记录读取到内存中缓存起来(默认最多可以记录150条记录, 可以自己在配置文件/etc/dnsmasq.conf中修改), 收到DNS查询请求时从自身的缓存中直接查找答复。
更多功能及设置请参考dnsmasq的帮助文档或者查看配置文件/etc/dnsmasq中的注释说明内容。
如果启动DNS Server失败请查看系统log(/var/log/syslog),
使用nslookup直接测试
ipv4地址
ipv6地址
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)