在最近使用的 Boost 网络编程中,在其中发送接收数据的底层实现中都是根据系统中设定的主机名所绑定的 ip 地址来进行的。 原本主机中仅仅绑定了 localhost <----> 127.0.0.1 ,所以在这篇文章中简单介绍一下如何更改 linux 下面主机名的修改与更新.
操作过程所涉及修改的两个文件有 :
1. /etc/hosts
2. /etc/sysconfig/network
其中, /etc/hosts 中文别称叫做 “主机名查询静态表” ,该表中有三个字段分别是
IP 地址 | 主机名.域名 | 主机名
其中中间的字段是可以省略的
而, /etc/sysconfig/network 是用来配置当前主机登录之后显示的主机的名称
[root@xxx ...] xxx 便是通过修改 /etc/sysconfig/network 而显示的
对 /etc/hosts 做出如下修改
-
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
-
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
-
-
10.0.2.15 Aimer.1027 Aimer
这样,更新之后,Aimer 便会作为主机名与 IP 为10.0.2.15 而绑定了
对 /etc/sysconfig/network 中更新其 HOSTNAME 的值,重新启动之后即可
将当前的主机名称更新为 'Aimer' 了
通过如下的命令便可以验证上述配置是否成功
1. hostname -----> Aimer #显示的是主机名称
2. hostname -i -----> 10.0.2.15 #显示的是主机名所绑定的 IP 地址
3. hostname -f -----> Aimer.1027 #显示的是主机名.域名
4. echo $HOSTNAME -----> Aimer #显示的是重启不失效的 主机名
add on 6/21/2015 by aimer
在这篇博文的基础上,记录一下为一台只有一个网卡的 linux 主机配置多个 ip 地址的方法。
为一台主机分配 ip 地址可以有静态方法,也就是通过修改静态文件的方式修改一次既可以实现永久性修改。
有动态方法,也就是仅在设置之后生效,主机重启之后,动态配置的 ip 地址就会失效。
在这里我使用的是动态方法,动态方法较简单,为了弥补开机重启动之后先前设置好的 ip 地址失效这一缺陷,
我们可以将动态设置 ip 地址的命令写入到开机启动之后便会加载文件 /etc/rc.local 中即可
简单的操作流程介绍如下
将下面的命令写入到 /etc/rc.local 文件中,然后 source /etc/rc.local 更新该配置文件,使其立即生效,即可
/etc/rc.local 中添加的命令:
ifconfig eth0:0 10.2.0.27 netmask 255.255.255.0
ifconfig eth0:1 10.2.0.28 netmask 255.255.255.0
ifconfig eth0:2 10.2.0.29 netmask 255.255.255.0
ifconfig eth0:3 10.2.0.30 netmask 255.255.255.0
通过在命令行中输入 : ifconfig 即可显示出刚刚配置好的命令.
[命令] ifconfig
[root@ayanami_rei network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:A6:C5:E3
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fea6:c5e3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18324 errors:17 dropped:0 overruns:0 frame:0
TX packets:8536 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21247553 (20.2 MiB) TX bytes:572753 (559.3 KiB)
Interrupt:19 Base address:0xd020
eth0:0 Link encap:Ethernet HWaddr 08:00:27:A6:C5:E3
inet addr:10.2.0.27 Bcast:10.2.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0xd020
eth0:1 Link encap:Ethernet HWaddr 08:00:27:A6:C5:E3
inet addr:10.2.0.28 Bcast:10.2.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0xd020
eth0:2 Link encap:Ethernet HWaddr 08:00:27:A6:C5:E3
inet addr:10.2.0.29 Bcast:10.2.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0xd020
eth0:3 Link encap:Ethernet HWaddr 08:00:27:A6:C5:E3
inet addr:10.2.0.30 Bcast:10.2.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0xd020
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:16436 Metric:1
RX packets:25836 errors:0 dropped:0 overruns:0 frame:0
TX packets:25836 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3431293 (3.2 MiB) TX bytes:3431293 (3.2 MiB)
另一种测试方式是使用 ping 来看是否连通
[命令] ping 10.2.0.27 -c 4
PING 10.2.0.27 (10.2.0.27) 56(84) bytes of data.
64 bytes from 10.2.0.27: icmp_seq=1 ttl=64 time=0.067 ms
64 bytes from 10.2.0.27: icmp_seq=2 ttl=64 time=0.060 ms
64 bytes from 10.2.0.27: icmp_seq=3 ttl=64 time=0.114 ms
64 bytes from 10.2.0.27: icmp_seq=4 ttl=64 time=0.076 ms
--- 10.2.0.27 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.060/0.079/0.114/0.021 ms
接下来,我们为每个 ip 地址设定别名
打开文件 /etc/hosts 按照上面的介绍,对应不同的 IP 地址写入各自的别名
10.0.2.15 kylin.kylin kylin
10.2.0.27 kokia.kylin kokia
10.2.0.28 aimer.kylin aimer
10.2.0.29 ruruita.kyli rurutia
10.2.0.30 narutou.kylin narutou
接下来使用 ping 来检测一下
ping aimer -c 4
如果正确的话会显示如下的信息
[root@ayanami_rei network-scripts]# ping aimer -c 4
PING aimer.kylin (10.2.0.28) 56(84) bytes of data.
64 bytes from aimer.kylin (10.2.0.28): icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from aimer.kylin (10.2.0.28): icmp_seq=2 ttl=64 time=0.059 ms
64 bytes from aimer.kylin (10.2.0.28): icmp_seq=3 ttl=64 time=0.052 ms
64 bytes from aimer.kylin (10.2.0.28): icmp_seq=4 ttl=64 time=0.055 ms
--- aimer.kylin ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.052/0.054/0.059/0.007 ms
end
阅读(1090) | 评论(0) | 转发(0) |