KVM 中搭建 VLAN 和 IPv6 环境
浏览:1827次 出处信息
普通的 IPv4 环境很简单,如果你使用 virt-manager 的话它自动都给你搭好了。每个 kvm guest 都在同一个子网内,通过 bridge 连接到一起,然后通过 host 上的 NAT 访问外网,如下所示:
# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254002e2392 yes virbr0-nic vnet0 vnet1 # iptables -L -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE tcp -- 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 MASQUERADE udp -- 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24
稍微有点儿困难的是在此基础上搭建 VLAN 和 IPv6 环境。
先看VLAN,虽然我们现在还没有 openvswitch,我们可以通过 bridge 设置一个简单的 vlan 局域网。因为 virt-manager 默认使用的是 192.168.122.0/24,我为VLAN单独开了一个 192.168.1.0/24,有两台机器 A 和 B,A 上运行此VLAN的 DHCP 服务,B 就可以直接动态获取地址了。
机器 A 上运行:
vconfig add eth0 2 ifconfig eth0.2 192.168.1.1 dnsmasq --listen-address=192.168.1.1 -i eth0.2 --dhcp-range=192.168.1.2,192.168.1.240
机器 B 上运行:
vconfig add eth0 2 dhclient eth0.2
注:vconfig 已经过时了,现在都使用 ip,我之所以还使用它是因为整个命令比较短。;-)
再来看 IPv6,因为我对 IPv6 不熟悉,所以折腾了好长时间最后还是不得不使用 sit tunnel,而且 IP 地址也是静态手工设置的。还是假设 A 和 B 两台机器,先让 IPv4 在上面跑起来,然后在两台机器上分别运行下面的命令:
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding echo 1 > /proc/sys/net/ipv6/conf/all/forwarding ip tunnel add sit1 mode sit local ${SELF} remote ${REMOTE} dev eth0 ip -6 addr add fd00:1:2:3::2/64 dev sit1 ip -6 route add fd00:1:2:3::1/64 dev sit1 ifconfig sit1 up
${SELF} 为自己的IPv4地址;${REMOTE}为对方的IPv4地址,即在A上面为B的地址,B上面为A的地址。他们的IPv6地址分别是fd00:1:2:3::1 和 fd00:1:2:3::2。
Update:如果使用 libvirt 的话,可以用 virsh net-edit <NET> 编辑网络配置,添加下面两行:
<ip family=’ipv6′ address=’fd00:1:2:3::1′ prefix=’64′>
</ip>
可参考这里。
建议继续学习:
- accept_ra 的一个例子 (阅读:4477)
- debian开启与关闭IPV6 (阅读:3263)
- 解决 IPv6 路由发现协议得到错误地址的问题 (阅读:2624)
- 开源世界中的算法与数据结构 3 -- Linux IPv6 FIB表实现 (阅读:2332)
- Debian 下关闭ipv6 (阅读:2188)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Nginx默认虚拟主机如何在server中添加
后一篇:关于squid请求源服务器的响应中带Vary头 >>
文章信息
- 作者:王 聪 来源: A Geek's Page
- 标签: IPv6 KVM VLAN
- 发布时间:2012-09-18 23:21:25
建议继续学习
近3天十大热文
- [43] IOS安全–浅谈关于IOS加固的几种方法
- [43] 如何拿下简短的域名
- [42] Oracle MTS模式下 进程地址与会话信
- [42] 图书馆的世界纪录
- [41] 界面设计速成
- [40] android 开发入门
- [39] 【社会化设计】自我(self)部分――欢迎区
- [37] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 视觉调整-设计师 vs. 逻辑
- [33] 程序员技术练级攻略