设为首页 收藏本站
查看: 571|回复: 0

[经验分享] CentOS网络配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-4-27 10:01:01 | 显示全部楼层 |阅读模式
在centOS系统中用用于网络配置的有这么几个命令ifconfig,route,ip,netstat,ss。ifconfig与route命令正在逐渐被ip命令取代。
1、ifconfig:配置网络接口
ifconfig -a                                   #显示所有处于激活状态的连接(默认)
ifconfig IFNAME                         #仅显示指定接口的信息
ifconfig IFNAME ADDRESS        #配置网络接口的IP地址
  长格式:ifconfig IFNAME IP netmask MASK
  短格式:ifconfig IFNAME IP/MASK
ifconfig IFNAME up                   #开启IFNAME网卡
ifconfig IFNAME up                   #关闭IFNAME网卡

用ifconfig配置ip地址:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[iyunv@xiaoxiao ~]# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:D6:C9:FA  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
  
[iyunv@xiaoxiao ~]# ifconfig eth1 192.168.172.133/24 broadcast 192.168.172.255
[iyunv@xiaoxiao ~]# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:D6:C9:FA  
          inet addr:192.168.172.133  Bcast:192.168.172.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)





2、route:配置路由表
route                       #显示路由表信息
route -n                  #用数字的格式显示路由信息
route add -host  HOST_IP gw NEXT_HOP [dev DEVICE]            #添加主机路由
route add -net  HOST_IP gw NEXT_HOP [dev DEVICE]              #添加主机路由
route add default gw GW_ADD                                                   #添加默认路由

route del -host HOST_IP        #删除主机路由
route del -net HOST_IP          #删除网络路由
route del default                    #删除默认路由
显示路由表:
1
2
3
4
5
6
7
8
[iyunv@xiaoxiao ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
114.114.114.114 192.168.172.3   255.255.255.255 UGH   0      0        0 eth1       #主机路由
192.168.172.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0      
192.168.172.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.172.2   0.0.0.0         UG    0      0        0 eth0       #默认路由




说明:Destination表示目的网络或者目的主机,gateway需要经过的网关,Genmask子网掩码,Flags标示符(U:改路由条目生效,G:改路由条目需要使用网关地址,H:目标是主机名(host)......),Metric到目标地址(Destination)的距离(usually counted in hops),Iface对应的接口。
Destination为0.0.0.0表示默认路由条目,Gateway为0.0.0.0表示该目的地址就在本网络上,不需要网关。

添加主机、网络、默认路由:
1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@xiaoxiao ~]# route add -host 115.115.115.115 gw 192.168.172.3 dev eth1
[iyunv@xiaoxiao ~]# route add -net 116.116.116.0/24 gw 192.168.172.3 dev eth1
[iyunv@xiaoxiao ~]# route add default gw 192.168.172.4
[iyunv@xiaoxiao ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
115.115.115.115 192.168.172.3   255.255.255.255 UGH   0      0        0 eth1
116.116.116.0   192.168.172.3   255.255.255.0   UG    0      0        0 eth1       #网络路由
192.168.172.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.172.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.172.4   0.0.0.0         UG    0      0        0 eth0       #仅第一个默认路由生效
0.0.0.0         192.168.172.2   0.0.0.0         UG    0      0        0 eth0



添加了192.168.172.4这条默认路由之后,最下面的那条路由就会失效。

删除刚刚添加的路由条目:
1
2
3
[iyunv@xiaoxiao ~]# route del -host 115.115.115.115
[iyunv@xiaoxiao ~]# route del -net 116.116.116.0/24
[iyunv@xiaoxiao ~]# route del default



注意:在添加路由时,网关必须和当前主机的ip地址处在同一个网段中,不然会添加失败。


3、ip。ip有很多子命令,这里只介绍常用的3个。ip link用于管理接口,ip addr用于协议地址,ip route用于管理路由。ip是一个比较新的命令,用于取代ifconfig和route,所以建议使用这个命令来配置网络的相关属性。
ip link:
ip link show [dev DEVICE]                  #显示指定接口的状态信息
ip link set IFNAME {up|down}            #开启或关闭网卡
ip link set IFNAME promise {on|off}  #开启或关闭网络的混合模式
ip link set IFNAME mtu 1400              #设置网卡最大传输单元

ip add:
ip addr show [dev DEVICE]           #显示指定接口的地址信息
ip addr flush [dev DEVICE]            #请出指定接口的地址信息
ip addr {add|del} ADDRESS [label IFALIAS(指定别名)] [scope] [brd BCAST_ADDRESS(指定广播地址)] dev DEVICE  
                                                        # 为一个接口配置地址(可以为一个接口配置多个地址)

显示,添加,删除ip地址:
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@xiaoxiao ~]# ip addr show dev eth1
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:d6:c9:fa brd ff:ff:ff:ff:ff:ff
[iyunv@xiaoxiao ~]# ip addr add 192.168.172.134/24 brd 192.168.172.255 dev eth1
[iyunv@xiaoxiao ~]# ip addr show dev eth1
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:d6:c9:fa brd ff:ff:ff:ff:ff:ff
    inet 192.168.172.134/24 brd 192.168.172.255 scope global eth1
[iyunv@xiaoxiao ~]# ip addr del 192.168.172.134/24 dev eth1
[iyunv@xiaoxiao ~]# ip addr show dev eth1
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:d6:c9:fa brd ff:ff:ff:ff:ff:ff




ip route:
ip route list                            #列出路由信息
ip route flush                           #清空路由表
ip route add DESTINATION [via NEXT_HOP] [src SOURCE_ADDRESS] [dev DEVICE]
                                         #添加路由信息(src表示来自于纳鞋底至的包)
ip route add default via NEXT_HOP          #添加默认路由
ip route del DESTINATION                 #删除路由
ip route del default                           #删除默认路由



添加主机路由、网络路由,查看路由表:
1
2
3
4
5
6
7
8
[iyunv@xiaoxiao ~]# ip route add 115.115.115.115 via 192.168.172.5 dev eth1
[iyunv@xiaoxiao ~]# ip route add 115.115.116.0/24 via 192.168.172.5 dev eth1
[iyunv@xiaoxiao ~]# ip route list
115.115.115.115 via 192.168.172.5 dev eth1
115.115.116.0/24 via 192.168.172.5 dev eth1
192.168.172.0/24 dev eth0  proto kernel  scope link  src 192.168.172.131
192.168.172.0/24 dev eth1  proto kernel  scope link  src 192.168.172.135
169.254.0.0/16 dev eth0  scope link  metric 1002



注意:当已经有默认路由存在时,无法用ip命令再次添加,需要先删除再进行添加


1
2
3
4
5
6
7
8
9
10
11
[iyunv@xiaoxiao ~]# ip route add default via 192.168.172.136
RTNETLINK answers: File exists                               #添加失败,因为已经存在默认路由
[iyunv@xiaoxiao ~]# ip route del default                      #删除原来的默认路由
[iyunv@xiaoxiao ~]# ip route add default via 192.168.172.136
[iyunv@xiaoxiao ~]# ip route list
115.115.115.115 via 192.168.172.5 dev eth1
115.115.116.0/24 via 192.168.172.5 dev eth1
192.168.172.0/24 dev eth0  proto kernel  scope link  src 192.168.172.131
192.168.172.0/24 dev eth1  proto kernel  scope link  src 192.168.172.135
169.254.0.0/16 dev eth0  scope link  metric 1002
default via 192.168.172.136 dev eth0                         #添加成功





以上的配置会立即生效,但不会永久有效,重启系统或者网络服务之后,配置就会失效。若想要永久有效需要到配置文件中进行配置。


网络的相关配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFNAME       #网络接口的配置文件
/etc/hosts                                            #完成主机名映射IP地址的功能
/etc/resolv.conf                        #域名服务客户端的配置文件,用于指定域名服务器的地址
/etc/sysconfig/network                  #主机最基本的网络信息,包括主机名,在系统启动使用到
/etc/sysconfig/network-scripts/route-IFNAME         #路由表的配置信息


1、/etc/sysconfig/network-scripts/ifcfg-IFNAME:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
DEVICE=eth0                       #此配置文件所关联到的设备,设备文件要与本文件名ifcfg-后面保持一致         
TYPE=Ethernet                     #网络接口类型{Ethernet|bridge}
UUID=e6799ee4-6f92-4f00-b10d-0b5227102a1f
ONBOOT=no                         #是否在开机过程中激活此接口
NM_CONTROLLED=no                  #该设备是否被NetworkManager管理
BOOTPROTO=dhcp                    #启动协议{dhcp|none|static|bootp}
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:D6:C9:F0          #mac地址
PEERDNS=yes                       #是否接受dhcp服务器指派的dns服务器地址
PEERROUTES=yes
LAST_CONNECT=1429555046
USERCTL={yes|no}                  #是否允许普通用户控制此接口
IPADDR=                           #IP地址
DNS1=                             #主DNS服务器地址
DNS2=
NETMASK=                          #子网掩码
GATEWAY=                          #默认网关



配置完需要重启网络服务:

/etc/init.d/network restart 或 service network restart
centOS7中网络服务为NetworkManager:
/etc/init.d/NetworkManager restart 或 service NetworkManager restart

2、/etc/sysconfig/network-scripts/route-IFNAME: 配置静态路由(这个配置文件默认没有,需要自己添加)

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

DESTINATION via NETX_HOP
配置文件格式2: 每三行一个路由条目
ADDRESS#=DESTINATION
NETMASK#=MASK
GATEWAY#=GW
     注意:这种格式的书写方式,#表示数字,必须从0开始(第一个路由条目为0,第二个为1......),=两边没有空格


3、/etc/hosts
1
2
3
[xiaoxiao@xiaoxiao ~]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6



/etc/hosts这个文件的默认内容如上,第一行是ipv4信息,第二行是ipv6信息。这是一个本地解析的配置文件,localhost,localhost.localdomain,localhost4......都会被解析成127.0.0.1。

1
2
3
4
[xiaoxiao@xiaoxiao ~]$ ping localhost -c 2
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.114 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.105 ms



1
2
3
4
[xiaoxiao@xiaoxiao ~]$ ping localhost4 -c 2
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.050 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.054 ms





4、/etc/resolv.conf
1
2
3
; generated by /sbin/dhclient-script
nameserver 192.168.188.101
nameserver 114.114.114.114




这是我虚拟机上的这个文件的内容,这个文件用于指定域名解析的DNS服务器ip地址等信息,配置参数一般有4个:
nameserver          #指定DNS服务器的IP地址
domain              #定义本地域名信息
search              #定义域名的搜索列表
sortlist            #对gethostbyname返回的地址进行排序
最常用的是nameserver这个参数,其他的一般都不指定。


5、/etc/sysconfig/network
1
2
3
4
5
[xiaoxiao@xiaoxiao ~]$ cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=xiaoxiao
GATEWAY=192.168.0.1



典型配置如上,参数说明:
NETWORKING                       #设置网络是否有效
NETWORKING_IPV6              #IPV6网络是否有效

HOSTNAME                           #设置主机名,最好和/etc/hosts文件中的设置一样
GATEWAY                              #指定默认网关


网络管理相关的工具:
ping:send ICMP ECHO_REQUEST to network hosts(man中的解释)
ping [option]... IP
-c #: 报文的个数
-W timeout: 等待响应报文的超时时长;
1
2
3
4
5
6
7
8
9
[iyunv@xiaoxiao ~]# ping www.baidu.com -c 3 -W 3
PING www.a.shifen.com (180.97.33.108) 56(84) bytes of data.
64 bytes from 180.97.33.108: icmp_seq=1 ttl=128 time=12.1 ms
64 bytes from 180.97.33.108: icmp_seq=2 ttl=128 time=11.6 ms
64 bytes from 180.97.33.108: icmp_seq=3 ttl=128 time=11.2 ms
  
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2015ms
rtt min/avg/max/mdev = 11.289/11.699/12.184/0.369 ms




traceroute:
traceroute HOST
获取当前主机到达目标主机所经过的所有网关
1
2
3
4
5
6
7
8
[xiaoxiao@xiaoxiao ~]$ traceroute baidu.com
traceroute to baidu.com (123.125.114.144), 30 hops max, 60 byte packets
1  192.168.0.1 (192.168.0.1)  0.969 ms  1.574 ms  0.945 ms
2  192.168.188.1 (192.168.188.1)  72.099 ms  71.877 ms  71.171 ms
3  * * *
4  * * *
5  * * *
...........




netstat:查看网络状态信息
-t             #tcp协议相关的连接
-u            #udp协议相关的连接
-n            #显示数字格式的地址
-l             #listen,显示处于监听状态的连接
-a            # 所有状态的连接(包括已建立连接和监听的连接)
-p            #显示会话中的进程程序名及进程号
-r             #routing,显示路由表
使用方式如下:
1
2
3
4
5
6
7
8
9
10
11
[xiaoxiao@xiaoxiao ~]$ netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:631                     :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN      
udp        0      0 0.0.0.0:68                  0.0.0.0:*                              
udp        0      0 0.0.0.0:631                 0.0.0.0:*



1
2
3
4
5
6
7
8
9
10
11
[xiaoxiao@xiaoxiao ~]$ netstat -tan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0     52 192.168.0.152:22            192.168.0.105:2986          ESTABLISHED
tcp        0      0 192.168.0.152:22            192.168.0.60:52684          ESTABLISHED
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:631                     :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN



显示路由表(同route -n):
1
2
3
4
5
6
[xiaoxiao@xiaoxiao ~]$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0




注意:这里的State一般有两种状态:connected(established)和listen,若选项中没有-l,则显示connected状态的进程,若加上则显示处于监听状态的进程
ss:查看网络状态信息
这个命令用法与netstat相似,但功能更加强大,具体用法可以参考netstat。这里只给出一个例子
1
2
3
4
5
6
7
8
9
10
[xiaoxiao@lwg ~]$ ss -tunl
Netid  State      Recv-Q Send-Q             Local Address:Port               Peer Address:Port
udp    UNCONN     0      0                              *:68                            *:*     
udp    UNCONN     0      0                              *:631                           *:*     
tcp    LISTEN     0      128                           :::22                           :::*     
tcp    LISTEN     0      128                            *:22                            *:*     
tcp    LISTEN     0      128                    127.0.0.1:631                           *:*     
tcp    LISTEN     0      128                          ::1:631                          :::*     
tcp    LISTEN     0      100                          ::1:25                           :::*     
tcp    LISTEN     0      100                    127.0.0.1:25                            *:*


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-61093-1-1.html 上篇帖子: Centos6.4下搭建svn+apache 下篇帖子: Rsync+Inotify实现数据实时同步 网络
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表