设为首页 收藏本站
查看: 3242|回复: 6

[经验分享] KVM-QEMU配置TAP使虚拟机上网

[复制链接]

尚未签到

发表于 2012-6-28 21:07:19 | 显示全部楼层 |阅读模式
在网上搜索基本有两种方法。一是直接利用 QEMU 提供的 -net user 或 -net tap 。二是使用Bridge模式。后者较前者来说更方便虚拟机与主机系统互访(似乎),我没有试过,其实 -net tap 也可以实现的。
QEMU 本身的两种上网方式我更青睐 TAP 。关于 -net user 的安全性高或不高我实在找不到资料,也许是我多虑了;TAP 虽然配置麻烦一些,但是能够直接应用我信任的 iptables 感觉心里踏实很多。而且它还可以实现虚拟机与主机互访,虽然我不会麻烦地去搞这个。
言归正传。需要注意的有下面几点:
一、 kvm 的参数
以下几步都完成后,按这行命令启动虚拟机,会自动应用 /etc/kvm/kvm-ifup 脚本:
kvm win.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0
二、 相应的 iptables 规则,虽然不确定,我希望这些设置会比较安全。
# FORWARD 默认规则为 抛弃
iptables -P FORWARD DROP
# nat POSTROUTING 默认规则为 抛弃
iptables -t nat -P POSTROUTING DROP
# tap0 向 ppp0 转发的包,即向外的包,全部接受
iptables -A FORWARD -i tap0 -o ppp0 -j ACCEPT
# 来自的 ppp0 的包,即向内的包,如果是已连接的或相关的,接受
iptables -A FORWARD -i ppp0 -m state –state RELATED,ESTABLISHED -j ACCEPT
# 其他的 TCP 包,拒绝
iptables -A FORWARD -i ppp0 -p tcp -j REJECT –reject-with tcp-reset
# UDP 包,拒绝
iptables -A FORWARD -i ppp0 -p udp -j REJECT –reject-with icmp-port-unreachable
# 用于内网的 IP 伪装,内网即虚拟机访问互联网时会被认为是主机在访问,而互联网来的包也会被自动转发给虚拟机
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
三、 使能 IP 转发功能
echo “1″ > /proc/sys/net/ipv4/ip_forward
四、 如果 tun 是编译成内核模块的,先要加载
/sbin/modprobe tun
完整文件如下:
为了方便,我把 iptables 的规则用 iptables-save 写入一个文件 enable-kvm ,然后写了一个启动用的脚本,完成启动及之前的准备和最后的恢复工作。
启动脚本如下:
#!/bin/sh
###
# Need to be ROOT.
# Prepare and Start kvm win guest system.
# Wait and cleanup.
###
test -f /usr/bin/kvm || exit 0
# Load tun module, for TAP network interface
/sbin/modprobe tun
# Enable ip forward
echo “1″ > /proc/sys/net/ipv4/ip_forward
# Apply enable-kvm rules for iptables
# Had to create rules in /etc/iptables
# Had to create /etc/init.d/iptables first.
# See /etc/init.d/iptables and /etc/iptables
/etc/init.d/iptables enable-kvm
# Start
# With -m 1G, set virtual RAM size to 1G
# With -localtime, set the real time clock to local time
# With network, and create a new interface tap0
# (must named after tap0, because of iptables rules up)
/usr/bin/kvm win.img \
-m 1G \
-localtime \
-net nic,vlan=0 -net tap,vlan=0,ifname=tap0
# Restore previous rules
/etc/init.d/iptables disable-kvm
# Disable ip forward
echo “0″ > /proc/sys/net/ipv4/ip_forward
# Unload tun module
/sbin/modprobe -r tun
exit 0
另外,我把 /etc/kvm/kvm-ifup 稍微修改了一下,IP 固定为 192.168.0.1。
虚拟机的配置: IP 设定为 192.168.0.2 ,网关为 192.168.0.1 ,子网掩码 255.255.255.0 ,DNS 看 /etc/resolv.conf ,添成一样的。
/etc/kvm/kvm-ifup 如下:
#!/bin/sh
switch=$(ip route ls | awk ‘/^default / { for(i=0;i<NF;i ) { if ($(i) == “dev”) print $(i 1) }}’)
/sbin/ifconfig $1 192.168.0.1 up
/usr/sbin/brctl addif ${switch} $1
exit 0
enable-kvm 是在原来的规则基础上再添加了上述几项,内容如下。 disable-kvm 则是去掉上述几项,恢复原来的规则。
# Generated by iptables-save v1.4.1.1 on Thu Dec 25 10:15:44 2008
*nat
5da59b7ecfc785dc6a09d279827f8f27.gif REROUTING ACCEPT [0:0]
OSTROUTING DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Thu Dec 25 10:15:44 2008
# Generated by iptables-save v1.4.1.1 on Thu Dec 25 10:15:44 2008
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i ppp0 -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -p tcp -j REJECT –reject-with tcp-reset
-A INPUT -i ppp0 -p udp -j REJECT –reject-with icmp-port-unreachable
-A INPUT -i lo -j ACCEPT
-A FORWARD -i tap0 -o ppp0 -j ACCEPT
-A FORWARD -i ppp0 -m state –state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ppp0 -p tcp -j REJECT –reject-with tcp-reset
-A FORWARD -i ppp0 -p udp -j REJECT –reject-with icmp-port-unreachable
COMMIT
# Completed on Thu Dec 25 10:15:44 2008
/etc/init.d/iptables 是自己写的一个脚本用来自动启用 iptables 规则的。
#!/bin/sh
START=/etc/iptables/start.rule
STOP=/etc/iptables/stop.rule
KVM=/etc/iptables/enable-kvm.rule
DISCONNECT=/etc/iptables/disconnect.rule
case “$1″ in
start)
/sbin/iptables-restore < $START
;;
stop)
/sbin/iptables-restore < $STOP
;;
restart)
/sbin/iptables-restore < $START
;;
enable-kvm)
/sbin/iptables-restore < $KVM
;;
disable-kvm)
/sbin/iptables-restore < $START
;;
disconnect)
/sbin/iptables-restore < $DISCONNECT
;;
*)
echo “Usage: /etc/init.d/iptables {start|stop|restart|enable-kvm|disable-kvm|disconnect}”
;;
esac
exit 0

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-352-1-1.html 上篇帖子: KVM虚拟机三大存储模式性能 下篇帖子: Qemu/KVM下虚拟Windows XP中的鼠标位置偏移问题 配置 上网 虚拟机

尚未签到

发表于 2013-3-13 18:48:04 | 显示全部楼层
有道理。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-15 19:26:26 | 显示全部楼层
小手一抖,钱钱到手!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 11:27:39 | 显示全部楼层
长大了娶唐僧做老公,能玩就玩一玩,不能玩就把他吃掉。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 07:11:59 | 显示全部楼层
商女不知亡国恨、妓女不懂婚外情。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 01:23:46 | 显示全部楼层
昨天,系花对我笑了一下,乐得我晚上直数羊,一只羊,两只羊,三只羊……

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 18:25:42 | 显示全部楼层
你的丑和你的脸没有关系。。。。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表