RedHat Enterprise Linux6设置上网问题
今天把虚拟机中的RedHat Enterprise Linux 6设置成静态IP,按照平常的方法对IP进行静态的设置:
System==>Preferences==>Network Connections==>选择System eth0进行编辑,然后选择手动的方式对IP4进行相应的地址IP,子网掩码,网关设置,设置成功后系统就能ping通其他同局域网的主机了。但是,却不能进行联网
解决的方法如下:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
将会看到:
DEVICE="eth0"
BOOTPROTO=none
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=192.168.1.6
NETMAST="255.255.255.0"
GATWAY="192.168.1.1"
TYPE=Ethernet
DNS1=202.103.225.68
PREFIX=24
GATEWAY=192.168.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=00:0C:29:61:72:C8
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
把上面红色的选项去掉,改修如下:
DEVICE="eth0"
BOOTPROTO=static
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=192.168.1.6
NETMAST="255.255.255.0"
GATWAY="192.168.1.1"
TYPE=Ethernet
DNS1=202.103.225.68
PREFIX=24
GATEWAY=192.168.1.1
DEFROUTE=yes
HWADDR=00:0C:29:61:72:C8
这样就能进行联网了
相应知识点补充:
1. ifcfg-eth0
ifcfg-eth0是Linux的网络配置文件,在这里可以设置系统的IP地址等信息,主要的参数有以下几个:
DEVICE=物理设备名
IPADDR=IP地址
NETMASK=掩码值
NETWORK=网络地址
BROADCAST=广播地址
GATEWAY=网关地址
ONBOOT=[yes|no](引导时是否激活设备)
USERCTL=[yes|no](非root用户是否可以控制该设备)
BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOT协议|DHCP协议)
HWADDR = MAC地址
2. 在虚拟机上装上linux系统后,设置网络连接方式为桥接,如果发现虚拟机连接不上网络,一般可能的原因有:
(1)没有设置有效的IP地址。
(2)没有进行DNS设置,一般设置的路径为/etc/resolve.conf文件,一般默认情况下该文件是没有nameserver类似的记录的,如下为我的配置:
nameserver 202.103.225.68
3. Linux的防火墙设置
开启Linux的防火墙:service iptables start
关闭Linux的防火墙:service iptables stop
设置Linux启动时防火墙自动打开或关闭:
chkconfig iptable on | chkconfig iptables off
在开启防火墙时,可能要对外开启一定的端口让外界来访问某项服务,这样可以去操作防火墙相关文件/etc/sysconfig/iptables:
#开启80端口
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
#开启22端口
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT