VMware+Ubuntu的NAT配置

前言:

     目前根据办公环境笔记本安全配置现状,为解决后续实验环境搭建测试及查询资料目的,采用vmwar+ubuntu虚拟机方式,实现上述功能,经过网络查询资料,整体流程为:Vmware环境配置+宿主机(windows)配置+虚拟机(ubuntu)配置,经实际测试搭建可用,对于有线网络/无线网络均适用,后续跟进适用usb网卡,实现办公笔记本上网查资料功能。

    本次实现环境:VMware® Workstation 12 Pro12.1.0 build-3272444+ubuntuUbuntu 16.04.3 LTS


背景:

   NAT全称Network Address Translation网络地址转换。入门可自行百度或者鸟哥私房菜服务器篇基础知识入门。该协议能够屏蔽服务器内部细节,根据包头信息实现转换,实现类似防火墙功能。对于虚拟机环境,可实现虚拟机之间、虚拟机和宿主机之间、虚拟机和外部host之间进行通信。虚拟机的IP是配置的NAT网段中的IP,访问外部host通过宿主机IP访问完成。优点:虚拟机的网络配置确定后,就可以很少变动。因为NAT配置不变,宿主机连接的网络变化,不影响虚拟机。所以大部分集群实验选择的就是NAT模式 。

VMware+Ubuntu的NAT配置_第1张图片

以上转自: VMware虚拟机NAT模式网络配置图文教程

过程:

     首先检查宿主机电脑(本环境为win10)里面查看是否有VMware NAT Service服务并且是否启动,一般情况下只要安装且未做特殊配置该服务均是自动启动的。

VMware+Ubuntu的NAT配置_第2张图片

    查看宿主机电脑(win10)的网络和internet设置-》更改适配器设置,其中:

vmnet1是连接桥接模式使用的虚拟网卡

vmnet8是设置为nat模式使用的虚拟网卡

参考自:VM虚拟机设置笔记本wifi网络

VMware+Ubuntu的NAT配置_第3张图片

        打开VMware12的GUI界面。依次点击“编辑”→“虚拟网络编辑器”出现下图界面,需要关注的就是VMnet8选项。根据服务器规划,架构做简单网络规划,这里使用NAT模式,使用DHCP服务实现动态IP分配,其中DHCP设置中的起始IP地址,结束IP地址,租用时间等影响后续虚拟机设置,需要记录下来。

VMware+Ubuntu的NAT配置_第4张图片

        根据设置我们的DHCPIP分配范围:192.168.203.128-254,仅有一台虚拟机,我们计划分配静态IP192.168.203.130给其使用。

    根据上述参数设置及网络连接方式,设置VMnet8虚拟网卡信息及网络共享功能:

                                         VMware+Ubuntu的NAT配置_第5张图片

以上宿主机检查配置,vmware配置基本完成,进行虚拟机环境配置:

主要需要考虑:根据来自虚拟机NAT模式的配置确定IP地址、子网掩码、网关信息,DNS来自主机的首选DNS

ubuntu的网络配置不同于suselinux11,不存在类似/etc/sysconfig/network-scripts/ifcfg-eth0的网卡配置文件,而且虚拟机默认网卡名叫:ens33,ubuntu环境下网络配置命令举例如下:

1. 以DHCP方式配置网卡

编辑文件: /etc/network/interfaces:

sudo vi /etc/network/interfaces

并用下面的行来替换有关ens33的行:

# The primary network interface, 
# use DHCP to find our address
auto ens33
iface ens33inet dhcp

用下面的命令使网络设置生效:

sudo /etc/init.d/networking restart

也可以在命令行下直接输入下面的命令来获取地址

sudo dhclient ens33


2. 为网卡配置静态IP地址

编辑文件: /etc/network/interfaces:

sudo vi /etc/network/interfaces

并用下面的行来替换有关ens33的行,以下是我们使用的配置命令,对于上述配置文件的基础字段理解,其他配置请自行查阅:

# The primary network interface, 
# use Static to find our address
auto ens33
iface ens33 inet static
auto ens33
iface ens33 inet static
address 192.168.203.130
netmask 255.255.255.0
gateway 192.168.203.2

使用下面的命令使网络设置生效:


sudo /etc/init.d/networking restart

3. 设定第二个IP地址(虚拟IP地址),此处没使用,仅记录相应配置方法

编辑文件/etc/network/interfaces:

sudo vi /etc/network/interfaces

在该文件中添加如下的行:

auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x

根据使用情况填上所有诸如address,netmask,network,broadcast和gateways等信息.

用下面的命令使网络设置生效:


sudo /etc/init.d/networking restart

4. 设置主机名称(hostname)

使用下面的命令来查看当前主机的主机名称:

sudo /bin/hostname

关于设置主机名称的更多信息,请访问这里

5. 配置DNS

首先,你可以在/etc/hosts中加入一些主机名称和这些主机名称对应的IP地址

要访问DNS 服务器来进行查询,需要设置/etc/resolv.conf文件.

编辑文件: /etc/hosts,此处使用的我们本次配置的命令

vi /etc/resolv
#添加阿里dns服务器
nameserver 223.5.5.5

用下面的命令使网络设置生效:


sudo /etc/init.d/networking restart

Ubuntu 关闭防火墙,以下仅做检查,记录相应命令

root@ubuntu:/home/homer# ufw status            // 查看状态
Status: inactive
root@ubuntu:/home/homer# 
ufw enable          // 打开防火墙
Firewall is active and enabled on system startup
root@ubuntu:/home/homer# 
ufw status
Status: active
root@ubuntu:/home/homer# ufw disable          // 关闭防火墙
Firewall stopped and disabled on system startup
root@ubuntu:/home/homer# 
ufw status
Status: inactive

1、关闭ubuntu的防火墙 
      ufw disable
2、卸载了iptables
       apt-get remove iptables
3、关闭ubuntu中的防火墙的其余命令
        iptables -P INPUT ACCEPT
        iptables -P FORWARD ACCEPT
        iptables -P OUTPUT ACCEPT
        iptables -F


CentOS 关闭防火墙

/etc/init.d/iptables stop

[root@homeros logs]#  /etc/init.d/iptables status        // 查看防火墙状态
iptables: Firewall is not running.
[root@homeros logs]#  /etc/init.d/iptables start           // 开启防火墙
iptables: Applying firewall rules:                         [  OK  ]
[root@homeros logs]#  /etc/init.d/iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

[root@homeros logs]#  /etc/init.d/iptables stop          // 关闭防火墙
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@homeros logs]#  /etc/init.d/iptables status
iptables: Firewall is not running.

以上网络简单配置参考自:Ubuntu 配置网络命令          Ubuntu 16.04设置静态IP地址(NAT方式)

配置完成后进行测试验证:

首先查看虚拟机网卡信息:

root@user-virtual-machine:~# ifconfig
ens33     Link encap:Ethernet  HWaddr 00:0c:29:9a:a8:91  
          inet addr:192.168.203.130  Bcast:192.168.203.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe9a:a891/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:234 errors:0 dropped:0 overruns:0 frame:0
          TX packets:300 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:72597 (72.5 KB)  TX bytes:24138 (24.1 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:178 errors:0 dropped:0 overruns:0 frame:0
          TX packets:178 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:13410 (13.4 KB)  TX bytes:13410 (13.4 KB)

其次我们尝试ping外网网址,比如ping www.baidu.com:

root@user-virtual-machine:~# ping www.baidu.com
PING www.a.shifen.com (220.181.112.244) 56(84) bytes of data.
64 bytes from 220.181.112.244: icmp_seq=1 ttl=128 time=54.2 ms
64 bytes from 220.181.112.244: icmp_seq=2 ttl=128 time=54.5 ms
64 bytes from 220.181.112.244: icmp_seq=3 ttl=128 time=54.9 ms
64 bytes from 220.181.112.244: icmp_seq=4 ttl=128 time=55.0 ms
^C
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms

可以满足我们的使用条件。

问题:如何解决虚拟机ping的通百度但是ping的通宿主机,但是宿主机无法ping通虚拟机,或者仅开放某些端口的设置,请参考:VMware虚拟机NAT模式的具体配置。

使用问题与总结:

     个人使用时,如果切换上网方式,可能需要从新在宿主机上检查网络是否共享,并重启虚拟机网络服务,才能登陆上去。

    主要参考文献:VMware12中设置静态NAT

                            VMware虚拟机NAT模式的具体配置

                             VMware虚拟机NAT模式网络配置图文教程


你可能感兴趣的:(linux基础,环境工具)