刚刚安装了linux red hat 9.0采用的NAT网络方式,ip是dhcp自动分配。ping127.0.0.1 ping不通是怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刚刚安装了linux red hat 9.0采用的NAT网络方式,ip是dhcp自动分配。ping127.0.0.1 ping不通是怎么回事?相关的知识,希望对你有一定的参考价值。

我用的是校园网,可能是ipv6.
桥接方式也不行。

由于要使用网络通讯,所以不可避免的要用到dhcp。理想的网络通讯方式是下面3种都要支持:
1,接入已有网络。这便要求可以作为dhcp客户端,自动获取Ip。
2,作为DHCP服务器,动态分配IP。
3,指定固定IP
第3种情况没有什么好说的,简单说下前2种情况。
使用步骤:
(1)在内核的网络项里面把DHCP配置上,
Networking --->
Networking support
Networking options --->
Packet socket //添加.配置CONFIG_PACKET
[ * ] IP: DHCP support //添加
[ * ] Network packet filtering (replaces ipchains) ---> //添加,后面子选项可不选,配置CONFIG_NETFILTER
说明:若没选 Packet socket, [ * ] Network packet filtering (replaces ipchains) --->选项,在执行udhcpc命令时出现如下错误:
[root@(none) /]# udhcpc -f
udhcpc (v1.13.2) started
eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
udhcpc: socket: Address family not supported by protocol

(2)在busybox里面把[*]udhcp server(udhcpd)
[*]udhcp client(udhcpc)都选上。
udhcpd就是终端设备作为DHCP服务器 ;udhcpc就是终端设备作为DHCP客户端
若busybox没编译相应选项,也可从网上下载相应文件,用arm-linux交叉编译得到udhcpd,udhcpc命令copy到usr/sbin下就可以了。

1>编译Busybox,使make menuconfig,添加以下选项:
Networking Utilities --->
udhcp Server/Client --->
[ ] udhcp Server (udhcpd) //在此不作服务端,故不选。生成udhcpd命令
udhcp Client (udhcpc) //生成udhcpc命令
[ ] Lease display utility (dumpleases)
[ ] Log udhcp messages to syslog (instead of stdout)
[ ] Compile udhcp with noisy debugging messages
若busybox没编译相应选项,也可从网上下载相应文件,用arm-linux交叉编译得到udhcpd,udhcpc命令copy到usr/sbin下就可以了。
说明:有种方法说是从网上下的udhcp_0.9.8cvs20050303.orig.tar.gz文件,解压后修改Makefile文件,
在19行添加CROSS_COMPILE=arm-linux-
注释12行的COMBINED_BINARY=1,
否则不生成udhcpc命令。
注:使用0.9.8版本的udhcp貌似也不行,重新编译Busybox1.9.2版本。
2>使用Busybox下的simple.script,/usr/share/udhcpc/下,并重命名为default.script,修改default.script中RESOLV_CONF="/etc/resolv.conf"为RESOLV_CONF="/tmp/resolv.conf"
说明:从网上下了几个default.script貌似无法使用,提示无法找到default.script文件,使用上面的方法较好。由于使用Cramfs文件系统,etc目录不可写,运行udhcp.c时会提示无法创建resolv.conf
3>将生成的udhcpc复制到开发板/sbin下,在控制台下运行udhcpc即可,很快就可以从DHCP SERVER获得IP地址。但是有个问题,开发板可以获得IP地址,在路由器里也可以看到分配地址了,问题是一使用PING命令,不管是PC 机PING 开发板,还是开发板PING PC 机,就会造成开发板死机。试了好多方法,检查ROUTE,检查ARP,修改Default.script ,始终无法解决。

1>使用udhcpc时 ,就可以直接把simple.script拿来使用,busybox里面默认的目录文件是/usr/share/udhcpc/default.script(改下名)
可以查看下帮助
# udhcpc --help
#udhcpc -f
udhcpc 之后需要关闭网卡,之后需要送重开网卡使用命令
ifconfig eth0 down
ifconfig eht0 up
之后就能正常工作了,
如果无法PING本机,设置回环地址就可以了
ifconfig lo 127.0.0.1

/************PC上使用udhcpc*****************************
从使用的角度来说,无线网卡最好用DHCP动态获取IP地址,在LINUX下使用DHCP获取地址有几种方法,在桌面机LINUX一种是配置网卡的启动脚本。即修改/etc/sysconfig/networks-scripts/ifg-XXXX(后面是设备名)。如wlan0的设备就是 ifconfig-wlan0.第一块网卡就是 ifg-eth0,
静态IP的配置文件如下
DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.0.255
IPADDR=192.168.0.146
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
USERCTL=no
PEERDNS=no
TYPE=Ethernet
如果用动态IP则修改成
DEVICE=eth0
BOOTPROTO=dhcp # 以后的配置均失效。
BROADCAST=192.168.0.255
IPADDR=192.168.0.146
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
USERCTL=no
PEERDNS=no
TYPE=Ethernet
然后ifconfig eth0 down ,再打开ifconfig eth0 up即可申请IP。
*****************************************************/

2> 使用udhcpd,同样可以直接把busybox自带的udhcpd.conf作为参考,按要求配置一下udhcpd.config文件。
可以查看下帮助
# udhcpd --help
运行的时候直接#udhcpd -fs /etc/udhcpd.conf

还有一个租约文件(udhcpd.leases)要简要说说,使用udhcpd时会要求建立一个租约文件,按照提示创建一个就行了,它起什么作用呢?就是为了记录客户端所获得的IP,如果没有租约文件,则会重新给客户端分配一个新IP,如果有,则使用原先分配的IP。

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
另外,摘抄ifconfig用法文章
ifconfig 命令由超级用户使用,用来配置所有的网络接口参数。也可以被用来重新定义一个接口的IP地址或其它的操作参数。

一、检查网络接口

例如:

*检查所有网络接口的状态:

# ifconfig –a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST>; mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>;
mtu 1500 inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f

*检查一个接口的状态:

# ifconfig le0
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>;
mtu 1500 inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f

各字段含义:
lo0,le0——网络接口的设备名
Flags——网络接口状态的数字表示方式,状态变量已经在包中定义,将在后来讨论。
MTU——MTU用来定义包的存储片
Inet——接口的Internet 地址
netmask——掩码应用于网络层包的输入和输出。掩码被用来定义哪些值是用来表示网络地址的位。
Broadcast——广播地址,用来发送信息到所有主机。
Ether——由ARP使用的以太网地址(MAC)

—状态段
UP——这个标志指出这个接口是开放的,可以发送和接收数据。
DOWN——相反的,这个标志指出这个接口是关闭的,也就是说,此时不能为主机发送和转发包。
NOTRAILERS——这个标志指出了一个报文尾不包括以太帧的尾部。报文尾是在Berkerley Unix系统中使用的把信息头加到包尾的一种方式。在Solaris2.x系统中已经不支持。
RUNNING——这个标志指出,该接口已经被系统识别。
MULTICAST——这表示接口支持多路传送地址。
BROADCAST——这表示接口支持广播地址。

二、网络地址配置

——解决网络接口故障

丢失,不完整,或不正确的配置网络接口参数,将会引起连接失败。如:一个主机可能拒绝挂接(mount)远程文件系统,拒绝发送和接收邮件,拒绝执行打印任务,如果一个主机的接口配置错误的话。
为了确保主机接口配置的正确,要检查如下几项:
所有的接口状态是否为UP
IP地址是否正确
子网掩码是否正确
广播地址是否正确

——重新配置网络接口参数

* 允许一个网络接口(Enable):

# ifconfig le0 up
# ifconfig le0
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>;
mtu 1500 inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f

*开放一个网络接口(Disable):

# ifconfig le0 down
# ifconfig le0
le0: flags=863<BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500
inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f

*关闭一个网络接口(Close):

# ifconfig le0 unplumb
# ifconfig le0
ifconfig : SIOCGIFFLAGS:le0:no such interface

*打开一个网络接口(Open):

# ifconfig le0 plumb
# ifconfig le0
le0:flags=842<BROADCAST,RUNNING,MULTICAST>; mtu 1500
inet 0.0.0.0 netmask 0
ether 8:0:20:75:6e:6f

*设置一个IP地址,允许接口但不允许 trailers:

# ifconfig le0 inet 128.50.1.2 –trailers up
# ifconfig le0
le0: flags=842<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>;
mtu 1500 inet 128.50.1.2 netmask ffff0000 broadcast 128.50.255.255
ether 8:0:20:75:6e:6f

*改变掩码值和广播值来正确的反映新的掩码:

# ifconfig le0 netmask 255.255.255.0 broadcast +
# ifconfig le0
le0: flags=843<UP,BROADCAST,RUNNING,MULTICAST>; mtu 1500
inet 128.50.1.2 netmask ffffff00 broadcast 128.50.1.255
ether 8:0:20:75:6e:6f

*在正确的设置子网掩码后改变所有的广播地址:

# ifconfig –a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST>; mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500
inet 128.50.1.5 netmask ffffff00 broadcast 128.50.255.255
ether 8:0:20:75:8b:59
le1: flags=842<BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500
inet 128.50.3.6 netmask ffffff00 broadcast 128.50.255.255
ether 8:0:20:75:8b:59
# ifconfig –a broadcast +
# ifconfig –a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST>; mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500
inet 128.50.1.5 netmask ffffff00 broadcast 128.50.1.255
ether 8:0:20:75:8b:59
le1: flags=842<BROADCAST,NOTRAILERS,RUNNING,MULTICAST>; mtu 1500
inet 128.50.3.6 netmask ffffff00 broadcast 128.50.3.255
ether 8:0:20:75:8b:59
参考技术A ping不通127.0.0.1说明网卡没有配置,需要先新建一块虚拟网卡,最好手动配置静态IP和dns、网关。本回答被提问者采纳

安装 Red Hat Enterprise Linux 7

1.安装虚拟机(按照以下图片教程即可。如有个人需要,可更改配置)技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
2.开启虚拟机,安装操作系统(按照图片更改设置:时间,分区,密码,版本,网络)
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
3.安装完成,重启。
技术分享图片
技术分享图片

以上是关于刚刚安装了linux red hat 9.0采用的NAT网络方式,ip是dhcp自动分配。ping127.0.0.1 ping不通是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

Red Hat Enterprise Linux 9.0 PXE Server

请教硬盘安装red hat linux 9.0(不是用虚拟机哦)

红帽子Red Hat Linux 9光盘或者镜像启动安装过程图解

在Red Hat Linux 9.0中,普通用户登录系统时默认进入哪个目录中的对应目录下

red hat linux 9中文版的下载地址及注册码

Red Hat Enterprise Linux7 配置Tomcat