linux下常用网络操作汇总 专题

时间:2023-03-10 00:57:33
linux下常用网络操作汇总  专题

centos 更改主机名,需要更改的几个地方:

(1) /etc/sysconfig/network  //更改主机名
(2)/etc/hostname  //更改主机名
(3) /etc/hosts  //更改本机ip和主机名的映射关系

IP: ifconfig

gateway:
[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
172.16.44.0 0.0.0.0 255.255.255.0 U vmnet8
172.16.10.0 0.0.0.0 255.255.255.0 U vmnet1
172.16.0.0 0.0.0.0 255.255.252.0 U eth0
169.254.0.0 0.0.0.0 255.255.0.0 U eth0
0.0.0.0 172.16.0.254 0.0.0.0 UG eth0 (以0.0.0.0开始的行的gateway是默认网关) DNS:
[root@localhost ~]# cat /etc/resolv.conf
search localdomain
nameserver 172.16.0.250

首先说明下RHEL6下设置IP地址的确和RHEL5下有几点是不同的。

我装完RHEL6中默认选择的是DHCP自动获取方式:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0         //指定网卡设备名称为:eth0
HWADDR=00:0c:29:f9:67:5b //指定物理网卡地址为:00:0c:29:f9:67:5b 
NM_CONTROLLED=yes  //设备eth0是否可以由Network Manager图形管理工具托管
ONBOOT=no  //是否随网络服务启动eth0设备设置生效,默认可是没开的哦
BOOTPROTO=dhcp //启动协议是dhcp自动获取方式
TYPE=Ethernet   //网络类型为以太网模式
USERCTL=no 
PEERDNS=yes
IPV6INIT=no

很多习惯RHEL5的朋友,喜欢用neat,system-config-network等图形化工具来配置IP地址,很抱歉,RHEL6下我发现不是这么回事儿,当然RHEL6下我们除了麻烦地修改网卡的主配置文件外,还可以通过setup,system-config-network等工具指令打开网卡的tui图形化界面,例如:你输入:system-config-network

linux下常用网络操作汇总  专题

好了,当你点OK,点sav,sav quit后,在启动前我们来看下目前的网卡配置单

linux下常用网络操作汇总  专题

有朋友现在肯定是会急着去启动网卡服务了,RHEL5下不会,但是在RHEL6下网络服务重启后,ip配置发生了错误

linux下常用网络操作汇总  专题

我们发现原因在哪里呢?原来RHEL6下的网卡的主配置文档中,默认下ONBOOT=no,我们把它改为:ONBOOT=yes就行了,再次重启网络服务

linux下常用网络操作汇总  专题

靠,又出错了,发现错误:设备没被NetworkManager管理,导致

继续解决:

原因:原来RHEL6下的网卡的主配置文档中,默认下有NM_CONTROLLED=yes这么一行,这意味着网卡eth0得有NetworkManager托管,这行中的yes|no的开关控制项的修改是即时生效的,你可以改为no保存后,立即可以解决上述问题,如果你不想改也可以这样做linux下常用网络操作汇总  专题

我们重启下NetworkManager服务器后,再重启网卡就可以解决问题了。linux下常用网络操作汇总  专题

这时候再看eth0的网络信息:linux下常用网络操作汇总  专题

OK,一切正常了

另外,很多朋友,在使用RHEL6配置IP地址时特别迷惑Network Manager这玩意儿,其实,他只是屏幕右上角落里的一个图形化管理网络设备的网络管理器而已,对协助你管理无线,ADSL,VPN等都有很大便利,service NetworkManager start|stop决定了你能不能在右上方角落里看到它的身影,eth0网卡的主配置文件中的:NM_CONTROLLED=yes|no项决定了你的eth0是否可以由NNetwork Manager托管,我截取了分别改为yes|no的图片,大家看下就很明白了。

NM_CONTROLLED=yes 时

linux下常用网络操作汇总  专题

NM_CONTROLLED=no 时

linux下常用网络操作汇总  专题

最后总结下:当NM_CONTROLLED=yes 时,你想使你的网卡配置生效,要重启下NetworkManager服务后,再重启network服务就行了,这时你唯一的好处就是可以用NetworkManager来管理你的网卡设备了,比如eth0,ppp0等

当NM_CONTROLLED=no时,你想使你的网卡配置生效,不用重启NetworkManager服务,直接重启network服务就行了,这时你唯一的坏处就是不能用NetworkManager来管理你的网卡设备了,比如eth0,ppp0等

http://blog.chinaunix.net/uid-16240004-id-3764935.html

1.cat /etc/resolv.conf (看DNS)
2.netstat –r
3.cat /etc/sysconfig/network(Ubuntu10.04不行)
4.cat /etc/sysconfig/network-scripts/ifcfg-eth0(Ubuntu10.04不行)
5.traceroute 第一行就是自己的网关
6.ip route show
7.route -n
以上几个是比较常用的查询网关的命令

1、修改主机名
(1)vi /etc/sysconfig/network           
NETWORKING=yes
HOSTNAME=NEWHOSTNAME       #修改该值作为主机名,如:NEWPC,如果没有HOSTNAME这行记录,则需要添加
(2)然后运行命令" hostname 新主机名"

2、修改hosts

(1)vi /etc/hosts

127.0.0.1 localhost.localdomain localhost
#该行强烈建议保留
192.168.0.1 rhel.lpwr.net rhel       
(2)在Linux系统中,若有多个IP映射同一主机名,在'/etc/host.conf'文件中写入multi on。
(3)请通过rcnscd stop命令关闭nscd服务。 此操作用来清理dns缓存,不同类型的主机命令所在位置也不同

3、修改ip

vi /etc/sysconfig/network-scripts/eth0     
#编辑指定网络接口配置文件
DEVICE=eth0              #指定接口名称
ONBOOT=yes               #系统启动时加载
BOOTPROTO=static        #IP地址静态配置,若该值为“dhcp”则为动态获得
IPADDR=192.168.0.1      #设置IP地址
NETMASK=255.255.255.0   #设置子网掩码
GATEWAY=192.168.0.254   #设置默认网关

4.修改网关
vim /etc/sysconfig/network
增加一条网关信息
GATEWAY=192.168.1.1
linux下常用网络操作汇总  专题

5、修改DNS
vi /etc/resolv.conf        #指定当前主机的DNS服务器,最多可指定三个
search lpwr.net             #设置当前主机的默认查找域
nameserver 192.168.0.100   #指定首选DNS服务器
nameserver 172.16.254.2

6.重新加载网络配置
/etc/init.d/network restart
Service network restart

http://blog.chinaunix.net/uid-561779-id-3154203.html

1、/etc/hosts,主机名何ip配置文件。
hosts---The static table lookup for host name(主机名查询静态表)

linux 的/etc/hosts是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应主机名。
不同的linux版本,这个配置文件也可能不同。比如Debian的对应文件时/etc/hostname。

2,配置文件的用途;

这个文件可以配置主机IP及其对应的主机名,对于服务器类型的linux系统其作用还试不可忽略的。
在局域网或者是INTERNET上,每台主机都由一个IP地址,它区分每台主机,并可以根据IP进行通讯。但IP地址不方便记忆,所有又有了域名。在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问。

linux主机名的相关配置文件就是/etc/hosts;这个文件告诉主机那些域名对应那些ip,哪些主机名对应哪些ip:
比如文件中有这样的定义
192.168.1.100    linumu100    test100
假设192.168.1.100是一台网站服务器,在网页中输入http://linumu100或http://test1000就会打开192.168.1.100的网页。

通常情况下这个文件首先记录了本机的ip和主机名:
172.0.0.1    localhost.localdomain    localhost

3,配置文件格式说明

一般/etc/hosts的内容一般有如下类似内容:
127.0.0.1   localhost.localdomain    localhost
192.168.1.100    linumu100.com    linumu100
192.168.1.120   ftpserver    ftp120

一般情况下hosts文件的每行尾一个主机,每行由三部分组成,每个部分由空格隔开。

第一部分:网络IP地址;
第二部分:主机名或域名;
第三部分:主机名别名;

当然每行也可以是两部分,即主机IP地址和主机名。

主机名(hostname)和域名(domain)的区别:
主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应IP;
域名通常在INTERNET上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。

4,hosts文件可以帮助解决哪些问题

4.1远程登录linux主机过慢问题
有时候客户端想要远程登录一台linux主机,但每次登录输入密码后都会等很长一段时间才会进入,这是因为linux主机在返回信息时需要解析IP,如果在linux主机的hosts文件事先就加入客户端的IP地址,这时再从客户端远程登录linux就会很快。
4.2 双机互联
当两台主机只是双机互连时,这时两台主机都需要设置自己的ip,同时在对方的hosts文件里加入自己的ip和主机名。

5,主机名修改工具hostname;

hostname---show or set the system's host name

显示主机名:
#hostname 
显示主机IP:
#hostname -i
临时设置主机名:
#hostname test100

http://blog.sina.com.cn/s/blog_6714fba701018pip.html

修改/etc/hosts之后正常情况应该是保存之后立即生效的,但是有时不是。使用uname -a 可以查看hostname是多少,就可以知道是否修改生效了。如果没有,这时的策略有:
1) 重启机器
2) 重启服务
      Ubuntu: $sudo /etc/init.d/networking restart
      Gentoo: /etc/init.d/net.eth0 restart
3)使用hostname命令
 hostname 定义的主机名
hostname与/etc/hosts的关系

很多人一提到更改hostname首先就想到修改/etc/hosts文件,认为hostname的配置文件就是/etc/hosts。其实不是的。

hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。 不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。

Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc /hosts文件通常里面包含这一条记录

127.0.0.1

 localhost.localdomain   localhost
hosts文件格式是一行一条记录,分别是IP地址 hostname aliases,三者用空白字符分隔,aliases可选

127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。

 在windows下,你可以用命令 ipconfig /flushdns 来清空dns 缓存内容。你也可以用命令 ipconfig /displaydns 来查看dns 缓存内容。
在Mac OSX中,你可以用这个命令lookupd -flushcache来清空保留的缓存.bash-2.05a$ lookupd -flushcache
在linux中,nscd进程负责管理DNS缓存。要清空DNS缓存,重启nscd 守护进程就行了。
要重启nscd 进程,使用命令(不带引号)‘/etc/rc.d/init.d/nscd restart’