qemu-kvm网络之用户模式
用户模式
用户模式网络是qemu自身实现的,不需要替他工具来辅助,同时使用slirp实现一整套的TCP/IP协议,并且使用你这个协议实现了虚拟NAT网络。
缺点: 性能差,不支持部分功能(如ICMP),不能从宿主机或者外部网络访问客户机。
用户模式网络的配置
1. 命令参数解释
[root@Clone4 kvm]# qemu-kvm -net user[,option][,option...]
vlan=n :链接值vlan,默认伪0
name=name:指定接口显示的名字
net=ip/mask:设定虚拟机中可见的ip哇昂罗
host=add:指定虚拟机中看到的物理机ip地址,默认伪指定网络中第二个地址,即x.x.x.2
dhcpstart=addr:指定DHCP服务地址池中16个地址的起始ip,默认伪第15-31个,即x.x.x.16-x.x.x.31
dns=addr :指定dns地址,默认伪虚拟机地址中的第三个地址,及x.x.x.3
tftp=dir :激活内置的tftp服务器
bootfile=file :bootp文件名称,实现网络引导
hostfwd= [TCP|UDP]:[hostaddr]:port-[guestaddr]:geustport :将宿主机的端口定向到客户机上,guestadd默认为DHCP分配的第一个客户机,*.*.*.15.
2. 启动一个将客户机22端口映射到宿主机5022,800-5080
[root@Clone4 kvm]# qemu-kvm -m 1024 -smp 2 kvm.img --net nic --net user,hostfwd =tcp::5022-:22,hostfwd=tcp::5080-:80
3. 进入客户机,是客户机能够连接网络
[kvm@virt ~]# dhclient eth0
[kvm@virt ~]# ssh 10.0.2.2
[root@Clone4 ~]# exit
[kvm@virt ~]# wget
4. 在客户机中启动http
启动一个将客户机22端口映射到宿主机5022,80映射到guest的5080。
qemu-kvm -m 1024 -smp 2 kvm.img \
--net nic --net user,hostfwd =tcp::5022-:22,hostfwd=tcp::5080-:80
这个在我的环境中没有成功,但是guest os可以连接外部网络,所以只能祭出我的frp神器。
frp参考
frp使用教程(转) - 简书
启动 frps:
./frps -c ./frps.ini
修改frpc.ini
# frpc.ini
[common]
server_addr = 192.168.19.1 #this line
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
-
启动 frpc:
./frpc -c ./frpc.ini
通过 ssh 访问内网机器,假设用户名为 test:
ssh -p 6000 test@192.168.19.1