(linux http搭建)-冯金伟博客园

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服务已经启动。