C语言在Linux下发送HTTP请求?
您好 您直接建立一个socket,把http协议的内容放在buffer中,发送到服务器就可以,在c语言中,尽量比较底层的操作,这样您可以更灵活的操作,我们一般都是这么实现的~
VMware中使用NAT网络在虚拟机Linux上联网?
第一部分:VMware中虚拟网络设备的简单讲解
VMware中有12中虚拟网络设备,10个虚拟交换机,从VMnet0到VMnet9;两个虚拟网卡,VMware Network Adapter VMnet 1和VMware Network Adapter VMnet 8。只所以叫他虚拟网络设备,应该他只是网络中编写的一个设备,现实中是不存在的,但是跟物理设备的功能是不相上下的。我只简单介绍比较常用的几种设备:
VMnet0:在桥接网络环境下的虚拟机交换机
VMnet1:HOST-ONLY网络环境下的虚拟交换机
VMnet8:NAT网络环境下的虚拟交换机
VMware Network Adapter VMnet 1:主机与HOS-ONLY虚拟机网络进行通讯的虚拟网卡
VMware Network Adapter VMnet 8:主机与NAT虚拟网络进行通信的虚拟网卡
第二部分:VMware中网络结构的介绍
虚拟机中有三种网络结构:桥接网络、NAT网络、HOST-ONLY网络。
一、桥接网络
真实电脑与虚拟机分别通过物理网卡和虚拟机网卡 VMnet0上通过虚拟机网络进行桥接,交换机将会根据组网的需要由VMware自动创建并自动应用。通过VM创建的虚拟机交换机,我们可以将一台或多台虚拟机连接到主机或其他虚拟机,我们可以将一台或多个虚拟机连接到主机或者其他虚拟机。
二、NAT网络
该设备为主机和其他使用NAT网络类型的虚拟机提供了通讯接口,同时还兼有NAT的功能,如果主机通过另外一个以太网适配器连接在一个外部网络上,该设备能本地网络虚拟机的IP地址转换为主机的外部网络地址,让虚拟机以主机的网络地址访问外部网络的资源,包括可以使用许多标准的协议,连接到外部网络上的其他机器,举这样的一个例子,使用NAT网络可以通过HTTP浏览网页,但是外部网络上的计算机不能建立到虚拟机的主动连接,也就是默认的情况下不能通过NAT来搭建服务,
三、HOST-ONLY
这个只为主机和使用仅主机类型的虚拟机提供数据交换的接口,所以由主机和使用仅主机网络类型的虚拟机机组成的网络,是典型的私有内部局域网
第三部分:从HOST通过NAT网络访问CentOS
先说明一下:
HOST:WindowsXP
虚拟机:CentOS 6.0
1、让VMware Network Adapter VMnet8自动获取IP地址连同DNS服务器地址,然后我们打开MS-DOC控制台,执行ipconfig /all命令,看看VMnet8的IP分配情况。
2、打开VMware软件,选择菜单VM->Settings,选中网卡查看其属性,将network connection配置为Custom:Special virtual network — VMnet8(NAT)。OK返回软件主界面。启动Redhat Linux 9系统,这时我们要将虚拟系统的IP配置成和之同网段(我这里是192.168.65.0,您的可能不同,这是VMware自动随机指定的一个IP地址)。
假如在命令行下,能够编辑/etc/sysconfig/network-scripts/ifcfg-eth0文档,内容如下:DEVICE=”eth0″
BOOTPROTO=”none”
BROADCAST=”192.168.21.255″
HWADDR=”00:0C:29:56:BF:F7″
IPADDR=”192.168.21.116″
IPV6INIT=”yes”
IPV6_AUTOCONF=”yes”
NETMASK=”255.255.255.0″
NETWORK=”192.168.21.0″
ONBOOT=”yes”
TYPE=”Ethernet”
USERCTL=”no”
PEERDNS=”no”
GATEWAY=”192.168.21.2″
DHCP_HOSTNAME=”192.168.21.254″
NM_CONTROLLED=”yes”
保存配置完后,重新激活eth0端口:
# service network restart
IP地址可由DHCP服务器来分配,因为在安装VMware后,会有一台虚拟的DHCP服务器虚拟机来分配IP地址,这个DHCP服务器实际是就是个系统服务,能够在“控制面板-管理工具-服务”里看到这个服务。
在NAT方式的网络中,虚拟机的Gateway都指向192.168.x.2, 本文中x=21, 这是虚拟NAT服务器的地址,他也是个服务器虚拟机,在服务管理里也能看到。
3、 这样winXP和linux就能够互ping通了,假如您ping不通的话,看一下您Windows下的防火墙是否不允许ICMP。
另外,多说一句,要让另一台PC通过局域网能够SSH登录访问刚才配置好的PC机里的虚拟linux系统,这里需要做一个映射。打开“Virtual Network Editor”(在开始菜单以及VMware界面的Edit菜单下都有。)。选中VMnet8,然后点击下面的“NAT Setting”,然后在点击Port Forwarding下的“Add”
Host Port:22 (主机中的要进行映射的端口)
Forwarding IP address : 192.168.21.116 22 (映射到哪个IP,哪个端口)
Description: VMLinux SSH port (简要描述)
假如要互访对方的虚拟机,同样配置可用于另一台PC。
第四部分:使用NAT方式联网
如果到第三部分,相信以及可以正常从HOST访问虚拟机了。但是,如果试着从虚拟机访问互联网,估计还不行。我们接着配置:
1、HOST:本地连接属性—>”高级”—>’Internet连接共享’–允许其他网络用户通过此计算机的Internet连接来连接:家庭网络连接选(VMware Network Adapter VMnet8)(这点重要)
2、虚拟机:系统→首选项→网络连接,在“有线”中选中System eth0,点击“编辑”,选中“IPv4设置”,方法选中“自动(DHCP)”。最后,点击应用。
注意:最重要的是你的两个服务必须开启:VMware DHCP Service 和VMware NATService.
具体操作如下:开始——设置——控制面板——管理工具——服务,确保 VMwareDHCP Service和VMware NAT Service服务已经启动。