环境为ubuntu 16.04,外网IP为101.200.33.1
  1.网络方式使用NAT连接,配置文件为/etc/libvirt/qemu/networks/default.xml;
  查看网络配置文件,下面的是默认情况
  # brctl show
  bridge name     bridge id               STP enabled     interfaces
  virbr0          8000.7461002aa653       yes             virbr0-nic
  如果需要修改的话,可以直接修改或者创建新的文件,然后使用下面命令来创建新的网络
  virsh net-define  【filename】
  2.安装VM
  virt-install --name linux-nat --ram 2048 --disk /data/linux.nat.raw  --graphics \
  vnc,port=5902  --network network=default,model=virtio --vcpus=8 --os-variant=rhel6
  --import
  # /data/linux.nat.raw  这个是做好的Linux系统模版
  3.查看宿主服务器virbr0的网卡信息
  ifconfig virbr0
  virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue      state UNKNOWN
  link/ether 52:54:00:3b:a1:35 brd ff:ff:ff:ff:ff:ff
  inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
  进入虚拟机中,修改IP为192.168.122.2,网关为192.168.122.1
  4.配置iptables,实现的原理是用户访问宿主IP的8000端口,然后iptables转发这个包到虚拟机的22端口上
  # iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
  #  iptables -t nat -A PREROUTING -d 101.200.33.1 -p tcp -m tcp --dport 8000 -j DNAT --to-destination 192.168.122.2:22
  #  iptables -t nat -A POSTROUTING -s 192.168.122.0/255.255.255.0 -d 192.168.122.2 -p tcp -m tcp --dport 22 -j SNAT --to-source 192.168.122.1

Last modification:May 27, 2020
如果觉得我的文章对你有用,请随意赞赏