文档章节

linux网络

GITTODO
 GITTODO
发布于 2015/12/23 21:57
字数 2004
阅读 28
收藏 1
点赞 0
评论 0

Linux网络

一. 简介

    1.1 基本概念

        一般安装linux后第一件事就是进行网络设置的主要是在网关中,由ip地址、子网掩码、广播地址,由这些来决定整个系统和外面的资源连接。

        网关:网关(Gateway)又称网间连接器、协议转换器。是一个硬件和软件结合的设备(现在统称”路由器”),是连接不同系统和网络的桥梁,工作在网络层。

        网关地址:字面意义,路由器的ip地址。用于该网段和其它网段的通信(一般为该网段的最小地址)。

        广播地址:是专门用于同时向网络中该网段的所有工作站进行发送的一个地址。一般为该网段的最大位。

        Ip地址:每一个设备(统称操作系统)都会有一个网络地址(现在普通PC都是使用IPv4,以后会慢慢过度到IPv6)。  IP地址=网络地址+主机地址

        子网掩码:当设备需要进行网络通信的时候,用来计算访问ip是否为同一网段,如果是同一网段则直接连接,否则就继续广播。

        通常的计算方式:

                Eg: ip地址/子网掩码:192.168.1.5/24

                Ip:192.168.1.5

                子网掩码:255.255.255.000(前24位为1)

                

                网段:192.168.1.0

                网段下的主机:192.168.1.1----192.168.1.254

                广播地址:192.168.1.255

                网关<路由器>: 一般设置为192.168.1.1

二.Linux的网络文件

    2.1:(下面的文件都是一centos7为准)

                /etc/host.conf         配置域名服务客户端的控制文件

                /etc/hosts               完成主机名映射为IP地址的功能

                /etc/resolv.conf       域名服务客户端的配置文件,用于指定域名服务器的位置

            1.一个域名解析,先去/etc/host.conf 读取解析顺序。

            2.如果是local在前,则去/etc/hosts读取

            3.如果本地没有,则需要/etc/resolv.cnf 读取DNS服务器的解析

                /etc/xinetd.conf       定义了由超级进程xinetd启动的网络服务

                /etc/networks          完成域名与网络地址的映射

                /etc/protocols         设定了主机使用的协议以及各个协议的协议号

                /etc/services           设定主机的不同端口的网络服务

                设置:

                    /etc/sysconfig/network                  包含了主机最基本的网络信息,用于系统启动.

                    /etc/sysconfig/network-script/     系统启动时初始化网络的一些信息

                    

    2.2 /etc/host.conf 

multi on          	 #允许主机拥有多个IP地址
order hosts,bind         #主机名解析顺序,即本地解析,DNS域名解析的顺序
这个文件一般不需要我们修改,默认的解析顺序是本地解析,DNS服务器解析,也就是说在本系统里对于一个主机名首先进行本地解析,如果本地解析没有,然后进行DNS服务器解析

    2.3  /etc/hosts    主机域名和IP映射,相当于一个本地DNS

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
可见,默认的情况是本机ip和本机一些主机名的对应关系,第一行是ipv4信息,第二行是ipv6信息,如果用不上ipv6本机解析,一般把该行注释掉。
第一行的解析效果是,localhost localhost.localdomain localhost4 localhost4.localdomain4都会被解析成127.0.0.1,我们可以用ping试试。

    2.4 /etc/resolv.conf 指定域名解析的DNS服务器IP等信息

default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0

    2.5 /etc/protocols :linux支持的协议文件

 

    2.6 /etc/services :linux的系统服务占用的端口

 

    2.7 /etc/sysconfig/network-scripts/ifcfg-eno16777736: centos7的一个网络设置文件

这个文件是linux网络设置的配置文件.ip地址、子网掩码、广播地址、网关地址、系统启动是否使用网络,都在这里设置。
1.可以设置多个,然后根据情况启动
2.重要属性:
ONBOOT 是否启动
IPADDR:IP地址
NETMASK:子网掩码
GATEWALL:网关地址
BROADCAST:广播地址
BOOTPROTO:开机协议,static 静态IP、none 不指定、dhcp 动态获取IP

三.命令

3.1 常见的一些linux的网络命令


ifconfig查看与设置IP地址、子网掩码

hostname查看与设置主机名

route:     查看与设置路由信息(默认网关等)

ip、ping、netstat、telnet、ftp、rlogin、rcp、finger、mail、 nslookup; 


3.2 netstat  :命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令

从整体上看,netstat的输出结果可以分为两个部分:

1. Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

2.Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名

显示TCP

$:netstat –at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:ipp           [::]:*                  LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN

显示UDP

$:netstat –au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:51217           0.0.0.0:*                          
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*                          
udp        0      0 0.0.0.0:ntp             0.0.0.0:*                          
udp        0      0 0.0.0.0:mdns            0.0.0.0:*                          
udp        0      0 localhost:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:6654            0.0.0.0:*                          
udp6       0      0 [::]:ntp                [::]:*                             
udp6       0      0 localhost:323           [::]:*                             
udp6       0      0 [::]:52918              [::]:*

显示监听状态 

$ netstat -atl
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:ipp           0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:ipp           [::]:*                  LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN 

$ netstat -aul
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 0.0.0.0:59431           0.0.0.0:*                          
udp        0      0 0.0.0.0:bootpc          0.0.0.0:*                          
udp        0      0 0.0.0.0:ntp             0.0.0.0:*                          
udp        0      0 0.0.0.0:mdns            0.0.0.0:*                          
udp        0      0 localhost:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:43550           0.0.0.0:*                          
udp6       0      0 [::]:ntp                [::]:*                             
udp6       0      0 localhost:323           [::]:*                             
udp6       0      0 [::]:37361              [::]:*

显示相关的程序名和PID

$:netstat –tp
rocesses could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
1tcp        0      0 192.168.174.137:47809   85.12.30.227:https      ESTABLISHED 49721/firefox       
tcp        0      0 192.168.174.137:47812   85.12.30.227:https      ESTABLISHED 49721/firefox       
tcp        0      1 192.168.174.137:51118   tg-in-f138.1e100.n:http SYN_SENT    49721/firefox       
tcp        0      0 192.168.174.137:47815   85.12.30.227:https      ESTABLISHED 49721/firefox

显示unix的本地服务<很多服务都是通过ip>

$:etstat –ax
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
unix  2      [ ACC ]     STREAM     LISTENING     35419    14062/gnome-session  /tmp/.ICE-unix/14062
unix  2      [ ACC ]     STREAM     LISTENING     36397    14265/pulseaudio     /tmp/.esd-1000/socket
unix  2      [ ACC ]     STREAM     LISTENING     31489    14232/dbus-daemon    @/tmp/dbus-3MrnzFuZih
unix  2      [ ACC ]     STREAM     LISTENING     24786    -                    public/pickup
unix  2      [ ACC ]     STREAM     LISTENING     22740    -                    @/tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     32449    14382/ibus-daemon    @/tmp/dbus-gDwmwcbq
unix  2      [ ACC ]     STREAM     LISTENING     35418    14062/gnome-session  @/tmp/.ICE-unix/14062
unix  2      [ ACC ]     STREAM     LISTENING     36399    14265/pulseaudio     /run/user/1000/pulse/native
unix  2      [ ACC ]     STREAM     LISTENING     16589    -                    @ISCSID_UIP_ABSTRACT_NAMESPACE
unix  2      [ ACC ]     STREAM     LISTENING     32337    14265/pulseaudio     /run/user/1000/pulse/dbus-socket

   

© 著作权归作者所有

共有 人打赏支持
GITTODO
粉丝 23
博文 138
码字总数 197485
作品 0
程序员
安装Kali Linux操作系统Kali Linux无线网络渗透

安装Kali Linux操作系统Kali Linux无线网络渗透 Kali Linux是一个基于Debian的Linux发行版,它的前身是BackTrack Linux发行版。在该操作系统中,自带了大量安全和取证方面的相关工具。为了方...

大学霸
2015/01/30
0
0
关于win7与虚拟机LINUX互通问题

首先,介绍如何在VMWARE中设置LINUX的网络。一般网络选项有Bridged, NAT, host-only几种。本次以我实现的host-only为样本来做详细说明,如下图: 在选择host-only模式之后,打开VMWARE的网络...

Sandy_wu
2013/03/19
0
0
Neutron中Linux Bridge与Open vSwitch优劣势对比

目前说到虚拟交换机,通常会想到使用Open vSwitch做虚拟交换机,因为支持Open vSwitch的个人和企业都想要有一个开放的模式把他们的服务集成进OpenStack。 Open vSwitch社区做了大量的工作,希...

技术小能手
07/09
0
0
Linux 命令行网络监控工具

转自:http://blog.sina.com.cn/s/blog_14d68bfac0102vux9.html 对任何规模的业务来说,网络监控工具都是一个重要的功能。网络监控的目标可能千差万别。比如,监控活动的目标可以是保证长期的...

被使用的文件
2015/07/13
0
0
为何Boost的asio要使用proactor模式实现?

Linux下高性能的网络库中大多使用的Reactor 模式去实现,Boost Asio在Linux下用epoll和select去模拟proactor模式,影响了它的效率和实现复杂度, 看陈硕的自己的Linux下Reactor网络库和ASIO的性...

天下杰论
2014/12/08
0
0
超实用的8个Linux命令行性能监测工具

摘要:本文总结了8个非常实用的Linux命令行性能监测工具,这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以发现导致性能问题的原因所在。 对每个系统/网络管理员来说,每天监测L...

Neo_
2012/09/25
0
2
Linux操作系统学习中请绕开这五大坑

导读 开发应用比较困难,只适用网络等等,这些对于Linux的评价只是在一些并不了解Linux的人的看法,一但你真正认识了Linux,都会被Linux的魅力所征服... 误区一:开发应用比较困难 这种说法在...

linuxprobe16
05/18
0
0
嵌入式Linux学习基础规划篇

嵌入式的学习是需要日积月累的,是通过一点一滴的积累才能成为大神。下面来介绍一下嵌入式linux学习基础规划,目标是达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质...

创客学院
04/10
0
0
大数据教程(1.6):linux网络配置及CRT远程连接

上一章节博主为大家详细介绍vmware虚拟网络的配置方式,本节将带领大家一起来实战NAT虚拟网络模式下的配置并完成CRT远程连接; 首先,贴出linux系统配置网络的文件 一:网络配置 1.首先,设...

em_aaron
07/03
0
0
Neutron中Linux bridge与Open vSwitch两种plugin优劣势对比

目前说到虚拟交换机,通常会想到使用Open vSwitch做虚拟交换机,因为支持Open vSwitch的个人和企业都想要有一个开放的模式把他们的服务集成进OpenStack。 Open vSwitch社区做了大量的工作,希...

OpenInfra
04/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
11分钟前
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
32分钟前
0
0
HTTP协议通信原理

了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务。 HTTP使用...

寰宇01
54分钟前
0
0
【Java动态性】之反射机制

一、Java反射机制简介

谢余峰
55分钟前
1
0
Centos 6.X 部署环境搭建

1.Linux学习笔记CentOS 6.5(一)--CentOS 6.5安装过程

IT追寻者
今天
0
0
博客即同步至腾讯云+社区声明

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=8vy9bsmadbko...

xiaoge2016
今天
1
0
大数据教程(3.1):Linux系统搭建网络YUM源服务器

博主在前面的2.5章节讲述了linux系统本地YUM服务器的搭建和httpd轻量级静态网站服务器的安装,本节博主将为大家分享内网环境中搭建自己的网络YUM服务器的全过程。如果大家对本地YUM服务器还不...

em_aaron
今天
1
0
蚂蚁技术专家:一篇文章带你学习分布式事务

小蚂蚁说: 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务...

Java大蜗牛
今天
1
0
新的Steam应用将拓展服务项目

导读 未来几周,Steam将推出两个免费的应用程序Steam Link和Steam Video。这两个应用程序都旨在拓展Steam平台的业务和便利性。 即将开放的Steam Link应用程序最先提供了Android测试版,它将允...

问题终结者
今天
0
0
golang 第三方包的使用总结

golang 第三方包的安装的方法: 1. go get 安装 $ go get github.com/gin-gonic/gin 注意:执行go get 命令需要先安装git命令,并配置git全局变量。 2. 源码包安装 由于国内网络问题,很多时...

科陆李明
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部