博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux网络配置
阅读量:6256 次
发布时间:2019-06-22

本文共 7810 字,大约阅读时间需要 26 分钟。

 

    Linux主机在局域网或者互联网上通信的时候,需要设置IP地址,网关,DNS,路由等相关属性。在Linux中这些设置有2种方式:

  • 命令行设置

    此设置会立即生效,但系统重新登录后不会生效。

  • 配置文件设置

    此设置不会立即生效,但系统再次登录后会生效,所谓永久生效。

    以下所有设置均以CentOS6系列为例:

一、设置主机名

临时设置:

    hostname [USER_NAME] 

1
2
3
4
5
6
7
8
# hostname 直接使用就是查看当前系统的主机名
[root@server ~]
# hostname 
server.example.com
# hostname USER_NAME 如果后面有用户名则是修改当前系统的主机名
[root@server ~]
# hostname alex.example.com
[root@server ~]
# hostname 
alex.example.com
[root@server ~]
#

永久设置:

    配置文件的路径是:/etc/sysconfig/network,如下:

1
2
3
4
5
6
# 这个文件是Linux网络的“总开关”,像网关,DNS等属性都可以在这里设置
[root@server ~]
# cat /etc/sysconfig/network
# 这个选项是是否启动网络服务,如果是 no 即使你的其他配置都正确,也不能上网
NETWORKING=
yes
# HOSTNMAE 关键字就是设置主机名的,设置格式如下:
HOSTNAME=server.example.com

二、设置主机的IP地址

临时设置:

    ifconfig [options] [IFNMAE [IP netmask MASK]]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# ifconfig 查看当前处于激活状态的网卡配置信息
# ifconfig -a 查看系统中所有的网卡配置信息
[root@server ~]
# ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0C:29:9E:A3:0E  
          
inet addr:172.16.9.10  Bcast:172.16.255.255  Mask:255.255.0.0
          
inet6 addr: fe80::20c:29ff:fe9e:a30e
/64 
Scope:Link
          
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          
RX packets:273411 errors:0 dropped:0 overruns:0 frame:0
          
TX packets:2495 errors:0 dropped:0 overruns:0 carrier:0
          
collisions:0 txqueuelen:1000 
          
RX bytes:17152580 (16.3 MiB)  TX bytes:297433 (290.4 KiB)
 
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:6 errors:0 dropped:0 overruns:0 frame:0
          
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          
collisions:0 txqueuelen:0 
          
RX bytes:330 (330.0 b)  TX bytes:330 (330.0 b)
           
# ifconfig DEVICE  查看系统中特定网卡配置信息
[root@server ~]
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:9E:A3:0E  
          
inet addr:172.16.9.10  Bcast:172.16.255.255  Mask:255.255.0.0
          
inet6 addr: fe80::20c:29ff:fe9e:a30e
/64 
Scope:Link
          
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          
RX packets:273444 errors:0 dropped:0 overruns:0 frame:0
          
TX packets:2510 errors:0 dropped:0 overruns:0 carrier:0
          
collisions:0 txqueuelen:1000 
          
RX bytes:17155146 (16.3 MiB)  TX bytes:299847 (292.8 KiB)
         
[root@server ~]
# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:9E:A3:18  
          
inet addr:172.16.9.18  Bcast:172.16.255.255  Mask:255.255.0.0
          
inet6 addr: fe80::20c:29ff:fe9e:a318
/64 
Scope:Link
          
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          
RX packets:704 errors:0 dropped:0 overruns:0 frame:0
          
TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          
collisions:0 txqueuelen:1000 
          
RX bytes:60911 (59.4 KiB)  TX bytes:1468 (1.4 KiB)
 
# 临时修改网卡的IP地址,修改完成时候会立即生效
# ifconfig eth1 192.168.0.55/24 up中的up是启用网卡,如果不启用可以使用down
# 启动和关闭一个网卡,例如:启动eth1网卡
#  igconfig eth1 up
#  或者 ifup  eth1 (ifdown eth1 关闭)
[root@server ~]
# ifconfig eth1 192.168.0.55/24 up
[root@server ~]
# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:9E:A3:18  
          
inet addr:192.168.0.55  Bcast:192.168.0.255  Mask:255.255.255.0
          
inet6 addr: fe80::20c:29ff:fe9e:a318
/64 
Scope:Link
          
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          
RX packets:844 errors:0 dropped:0 overruns:0 frame:0
          
TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          
collisions:0 txqueuelen:1000 
          
RX bytes:72758 (71.0 KiB)  TX bytes:1468 (1.4 KiB)
 
[root@server ~]
 
# ifconfig设置网卡别名
[root@server ~]
# ifconfig eth1:0 192.168.0.58/24 up
[root@server ~]
# ifconfig eth1:0
eth1:0    Link encap:Ethernet  HWaddr 00:0C:29:9E:A3:18  
          
inet addr:192.168.0.58  Bcast:192.168.0.255  Mask:255.255.255.0
          
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 
[root@server ~]
#

 

永久设置:

    配置文件在 /etc/sysconfig/network-scripts/ 目录下:每个网卡对应一个配置文件(包括网卡别名的) ifcfg-IFNAME。例如:eth0网卡的配置文件是 ifcfg-eth0。

    这个配置文件中的一些关键字和意义如下:

  • DEVICE=IFNAME 此配置文件所关联到的设备,设备名称要与本文件名ifcfg-后面保持一致

  • BOOTPROTO={bootp|dhcp|static|none} IP地址配置协议,常用的是dhcp和none(static)

  • HWADDR=11:22:33:44:55:66  当前设备的MAC地址,用六个字节标识

  • NM_CONTROLLED={yes|no} 是否接受NetworkManager服务脚本来配置此设备,CentOS6建议关闭,因为其不支持桥接模式。CentOS7中已经支持。 

  • ONBOOT={yes|no} 是否在开机过程中,自动激活此接口

  • TYPE={Ethernet|Bridge} 网络接口类型

  • UUID= 设备标识号

  • IPADDR=IP地址    设定IP地址,只有在BOOTPROTO={none|static}设置才有效

  • NETMASK=   掩码地址,此设置也可用 PREFIX=n (n为掩码位数)

  • GATEWAY=    网关地址,要与IP地址属于同一网段

  • DNS1=    DNS服务器地址地址

  • DNS2=

  • IPV6INIT={yes|no} 是否支持IPV6

  • USERCTL={yes|no} 是否允许普通用控制此接口

  • PEERDNS={yes|no} 不接受DHCP服务器指派的DNS服务器地址

    要想永久设置有效的话,将这些信息写到对应网卡的配置文件中,然后重新启动网络服务即可,/etc/init.d/network restart。

三、设置路由信息

临时设置:

    使用route [options] [add|del] [-net|-host IP gw NEXT_HOP] [dev DEVICE]命令设置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 查看路由表
[root@server ~]
# route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
link-
local      
*               255.255.0.0     U     1002   0        0 eth0
link-
local      
*               255.255.0.0     U     1003   0        0 eth1
172.16.0.0      *               255.255.0.0     U     0      0        0 eth0
172.16.0.0      *               255.255.0.0     U     0      0        0 eth1
default         server.magelinu 0.0.0.0         UG    0      0        0 eth0
# route -n 以数字形式显示路由表
[root@server ~]
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
 
# 增加一条主机路由
[root@server ~]
# route add -host 172.16.9.18 gw 172.16.0.1 dev eth0
# 增加一条网络路由
[root@server ~]
# route add -net 10.0.0.0/8 gw 172.16.0.1 dev eth0
[root@server ~]
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.9.18     172.16.0.1      255.255.255.255 UGH   0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
10.0.0.0        172.16.0.1      255.0.0.0       UG    0      0        0 eth0
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0
 
# 设置默认路由
# route add default gw NEXT_HOP
 
# 删除主机路由和网络路由
[root@server ~]
# route del -net 10.0.0.0/8  dev eth0
[root@server ~]
# route del -host 172.16.9.18  dev eth0
[root@server ~]
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 eth0

永久生效:

    配置文件在 /etc/sysconfig/network-scripts/ 目录下:每个网卡的路由信息对应一个配置文件(包括网卡别名的) route-IFNAME。例如:eth0网卡的配置路由文件是 route-eth0。

    设置格式:

    配置文件的格式1:每行一个路由条目

        DESTINATION via NETX_HOP

1
192.168.0.0
/24 
via 172.16.0.1

    配置文件格式2: 每三行一个路由条目

        ADDRESS#=DESTINATION

        NETMASK#=MASK

        GATEWAY#=GW

1
2
3
4
# 要是设置主机路由的话,掩码位数是32位
ADDRESS0=192.168.0.0
NETMASK0=255.255.0.0
GATEWAY=172.16.0.1

四、ip命令

    ip的命令功能比较强大。

ip命令常用选项:

ip link : 管理接口

        show [IFNAME]

        set IFNAME {up|down}

ip addr: 管理协议地址

    ip addr {show|flush} [dev DEVICE] 查看网卡的IP地址

    ip addr {add|del} ADDRESS dev DEVICE  [label IFALIAS] [broadcast BCAST_ADDRESS],为一个网卡添加多个IP地址

    

ip route: 管理路由:

    ip route list

    ip route flush 

    ip route add DESTINATION [via NEXT_HOP] [src SOURCE_ADDRESS] [dev DEVICE]

    ip route del DESTINATION

    

    ip命令还有其他子命令,读者可自行查阅 man 手册。

五、网络管理工具

测试网络的连通属性:

    ping 命令,实现的ICMP协议

    常用参数:

        -W timeout: 一个报文等待响应报文的超时时长

        -c #:报文个数

        -w time:一共持续的时间

追踪网络路由:

    就是显示出我们到达一个网络所经过的路由信息。常用的命令有traceroute 和 mtr。

    mtr命令式实时监测显示的:

查看网络状态:

    常用命令是:netstat和ss。

    netstat常用选项:

        -t: tcp协议相关

        -u: udp协议相关

        -n: 显示数字格式的地址

        -l: listen,显示处于监听状态的连接

        -p: 显示会话中的进程程序名及进程号

         -a: 所有状态的连接

        -r: routing,显示路由表

    ss命令也可以显示这些状态:

    常用选型:

        -t: tcp相关

        -u: udp相关

        -p: 显示进程号

        -l: listen,显示处于监听状态的连接

        -n: 显示数字格式的地址

        -m: 套接字相关的内存使用信息

        -a: all

        -e: 扩展信息

        -o state {established,fin_wait_1, fin_wait_2, listening}

        '( dport =   or sport =  )'

        只显示指定状态的连接,还可以指定过滤条件

显示网络接口设备的属性信息:

    ethtool:查看网路接口设备本身的属性

    本文主要介绍主机名,ip地址,路由的查看与设置、网路管理的工具。对于网络知识原理的部分没有深入讲解,对于原理不懂的读者可自行查阅相关资料。

本文转自 羊木狼 51CTO博客,原文链接:http://blog.51cto.com/guoting/1439144,如需转载请自行联系原作者
你可能感兴趣的文章
POJ 3233 (矩阵)
查看>>
20161220
查看>>
11月27日
查看>>
Java位运算符
查看>>
智能手表ticwatch穿戴体验
查看>>
暑假第五周总结(2018.8.6-8.12)
查看>>
MFC下拉框Combo Box
查看>>
TCP带外数据读写
查看>>
uni-app采坑记录
查看>>
TP方法中打印地址栏中所有的参数:
查看>>
这是一个蒟蒻的计划……QAQ
查看>>
设置局域网共享文件不需要用户名密码
查看>>
raft--分布式一致性协议
查看>>
Solidity notes
查看>>
网上购物系统(Task005)——通用数据库访问函数集SqlHelper类
查看>>
java 单例模式浅析
查看>>
Codeforces Round #389 (Div. 2,) B C
查看>>
python中configparser模块记录
查看>>
IIIDX[九省联考2018]
查看>>
Protobuf3 序列化
查看>>