前言

一直都是使用的虚拟机是kvm,而且都习惯用nat网络模式,但是有时候遇到需要测试一些服务,而且需要测试机访问kvm虚拟机里面的服务。

这时候有两种解决方式,一种是使用桥接,一种是使用端口转发。我更倾向于后者,因为我的虚拟机不需要长时间提供服务,使用nat可以更好的隔离。

桥接

如上图:

网桥方式配置步骤

1、编辑修改网络设备脚本文件,增加网桥设备br0

vim /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE="br0"

ONBOOT="yes"

TYPE="Bridge"

BOOTPROTO=static

IPADDR=192.168.123.22

NETMASK=255.255.255.0

GATEWAY=192.168.123.1

DEFROUTE=yes

上述配置将虚拟网卡配置在了192.168.123.* 网段。如果不需要静态地址,可以把配置地址的相关项屏蔽。如:

DEVICE="br0"

ONBOOT="yes"

TYPE="Bridge"

BOOTPROTO=dhcp

2、编辑修改网络设备脚本文件,修改网卡设备eth0

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"

NM_CONTROLLED="no"

ONBOOT="yes"

TYPE=Ethernet

BOOTPROTO=none

BRIDGE="br0"

NAME="System eth0"

HWADDR=90:48:9a:1c:09:af

虚拟机机配置

虚拟机安装时注意,网络要选择用br0桥接方式。

图形化的方式:

文本方式:

编辑修改虚拟机配置文件 /etc/libvirt/qemu/v1.xml,增加如下内容

虚拟机启动后,验证网络接口是否正常:

brctl show

bridge name bridge id STP enabled interfaces

br0 8000.4437e64a62ad no eth0

vnet0

NAT

默认就有nat支持,需要另外的操作,在图形操作里面直接选择nat就可以啦。

服务端口开放

1、桥接的虚拟机直接在,iptables里面开放服务访问就可以直接访问了,不需要经过宿主机的规则限制。

2、nat模式,默认所有的端口只是对虚拟机的网段开放而已,如果需要开放端口,就需要设置端口转发,可以利用一些端口转发工具,也可以直接用iptables。

例子,其中192.168.122.10是我的虚拟机,192.168.122.1是宿主机的IP,需要设置ip_forwad参数

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.122.10:80

iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.122.1

echo 1 > /proc/sys/net/ipv4/ip_forward

这样子,我直接访问我宿主机的80端口,就会转发到虚拟机里面的服务了。

linux kvm服务,Linux-让Kvm虚拟机开放服务端口!相关推荐

  1. Linux高级篇--Linux防火墙

    本章概要 防火墙的概念 iptables的基本认识 iptables的组成 iptables的基本语法 iptables之地址转换法则 SNAT源地址转换的具体实现 DNAT目标地址转换的具体实现 f ...

  2. linux mysql 端口号_linux下mysql 查看默认端口号与修改端口号方法

    一.查看默认端口号 1.登录mysql [root@localhost ~]# mysql -uroot -p Enter password: 输入数据库密码: 2.使用show global var ...

  3. 打开mysql3306库报错_允许远程链接mysql,开放3306端口

    首先查看端口是否打开 netstat -an|grep 3306 此图为开启3306端口的截图,之前显示为. . . 127.0.0.1:3306 . . . 打开mysql配置文件vi /etc/m ...

  4. Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机

    (1).虚拟化产品对比介绍 虚拟化技术有以下三种:仿真虚拟化,这是一种对系统硬件没有要求,但性能最低的虚拟化技术:半虚拟化,这是一种直接使用物理硬件,性能高,但需要修改内核的虚拟化技术:全虚拟化,这是 ...

  5. linux 桌面显示 kvm,Linux的桌面虚拟化技术KVM(五)——virsh常用命令

    (1).virsh常用命令 virsh list 查看已打开虚拟机列表 virsh list --all 查看所有虚拟机列表 virsh version 查看 virsh 版本号 virsh star ...

  6. Linux系统 虚拟化篇之KVM

    完全虚拟化 VMware  半虚拟化 xen  硬件辅助虚拟化Kvm #查看物理机是否支持虚拟化 处理器虚拟化 VT-X I/O虚拟化 VT-d 网络虚拟化 VT-C /etc/udev/rules. ...

  7. linux ubuntu bionic,在Ubuntu 18.04 Bionic Beaver Linux上安装和设置KVM

    目的 在Ubuntu 18.04 Bionic Beaver上通过桥接网络和virt-manager安装KVM 发行版 Ubuntu 18.04 要求 具有root特权的Ubuntu 18.04的有效 ...

  8. linux中kvm有什么功能,KVM基本功能

    前言:本来想写出关于KVM的精品文章,然而学的时间不够长,理解也不够透彻.所以有关KVM的高级功能只能等下一次在写.本次只涉及到KVM的基础核心功能,平时经常会使用的功能.. 一.环境准备: 1.BI ...

  9. linux kvm系统,Linux 下KVM安装

    Linux 下KVM安装 [日期:2012-12-18] 来源:Linux社区 作者:wujingfeng [字体:大 中 小] 第一.看看cpu是否支持kvm grep -E -o 'vmx|svm ...

最新文章

  1. Splunk学习与实践
  2. java的知识点34——线程通信 || 生产者与消费者问题
  3. java xmn xms_JVM调优总结 -Xms -Xmx -Xmn -Xss(转)
  4. Typora里字体如何变红
  5. 机器学习日常练习——红楼梦作者分析(聚类)
  6. java长连接转短连接_java原生程序redis连接(连接池/长连接和短连接)选择问题...
  7. Python之日志处理(logging模块)详解
  8. HBaseConAsia 2019盛会来袭
  9. 南溪的远程桌面软件使用笔记
  10. 难道真的是RedBook错了?
  11. postman与Jmeter调用接口
  12. 什么叫工作波长,截止波长和波导波长
  13. 无法使用资源管理器打开FTP,别被百度的结果坑了
  14. matlab subs eval,【荐】MATLAB求解符号表达式数值的方法:subs函数
  15. 港股上市!小米开源项目盘点
  16. Others8_如何在Chrome中导入和导出密码
  17. 设计按钮、下拉框、文本框的测试用例要点
  18. 货郎问题与计算复杂性
  19. 2022年全球市场火锅燃料总体规模、主要生产商、主要地区、产品和应用细分研究报告
  20. java后台 学习顺序

热门文章

  1. MySQL GTID复制Slave跳过错误事务Id以及复制排错问题总结
  2. #淘宝#复制分享宝贝内容,打开淘宝APP,自己主动弹出宝贝提示信息
  3. 动手动脑及课后实践3
  4. jqGrid编辑—公共规则【附视频、ppt、源码】
  5. iOS中MVC等设计模式详解
  6. mySQL 教程 第2章 安装和介绍mySQL
  7. 转:概述RAID磁盘的IOPS
  8. 408业务课·计算机网络——【考研随笔】之一
  9. 前端基础:技术栈简介
  10. java多线程模拟实现12306售票