背景
通过OVM创建虚拟机,并在虚拟机中安装Oracle Linux 6,选择了Basic Server形式,配置虚拟机的网络。

问题
不能访问外网

解决步骤
配置参考这篇博文,写的很清晰。

  1. 首先,按照条目1配置,可以ping通默认网关10.113.199.1;可以ping通网络代理服务器cn-proxy.cn.oracle.com,但是通过yum仍不能访问yum源http://yum-oracle.XXX...com;通过window(10.182.69.215)的putty客户端,不能访问该虚拟机。

检查
ping localhost,成功
ping 127.0.0.1,成功
ping 10.133.199.1,成功
ping cn-proxy.cn.oracle.com,成功
ping 10.182.69.215,失败

yum install java 报错,无法访问repo.xml里的yum源的资源
service network start/stop/restart 无输出
  1. 配置代理,在/etc/yum.conf中添加代理设置后,yum安装源里有的软件,成功。
    ping的情况依然如上。
  2. 按照条目4配置单网卡单IP,发现/etc/sysconfig/network-scripts/下,无ifcfg-eth0文件,创建并配置。问题依然如故。
    4.对比一台正常访问的服务器和该有问题的虚拟机,发现正常服务器的/etc/sysconfig/下,有文件network和文件夹networking、network-scripts。而虚拟机该目录下,没有network文件。
    因此,新建network文件并配置:
    enter image description here
    service network restart 有输出
    ping检查,成功。

分析
缺少network文件


条目1

  1. 配置eth0的IP地址, 同时激活该设备(立即生效,重启无效)
    sudoifconfigeth0 192.168.1.13 netmask 255.255.255.0 up

  2. 添加默认网关
    sudo route add default gw 192.168.1.1

  3. 配置DNS

    $ sudo vi /etc/resolv.conf
    nameserver 202.96.134.133
    nameserver 202.96.128.68
    nameserver 202.96.128.166

    查看DNS
    $ less /etc/resolv.conf

  4. 其他命令

    #激活设备
    ifconfig eth0 up
    #禁用设备
    ifconfig eth0 down

条目4

  • RedHat系列
    编辑/etc/sysconfig/network-scripts/ifcfg-eth[x]文件([x]为使用的网卡)

    • 静态配置

    # xxxxxxx(网卡名称,不用改)
    DEVICE=eth0
    BOOTPROTO=static
    TYPE=ether
    HWADDR=xx:xx:xx:xx:xx:xx (网卡mac地址,不用改)
    IPADDR=x.x.x.x(ip地址)
    NETMASK=x.x.x.x(子网掩码)
    BROADCAST=x.x.x.x.(广播地址)
    NETWORK=x.x.x.x(网络地址)
    GATEWAY=x.x.x.x(网关地址)
    ONBOOT=yes(开机自启动)
    DNS1=x.x.x.x(域名服务器地址)
    DNS2=x.x.x.x

    • 动态配置

    # xxxxxxx(网卡名称,不用改)
    DEVICE=eth0
    BOOTPROTO=dhcp
    TYPE=ether
    HWADDR=xx:xx:xx:xx:xx:xx (网卡mac地址,不用改)
    ONBOOT=yes(开机自启动)