linux網絡

Linux網絡

一. 簡介

    1.1 基本概念
linux

        通常安裝linux後第一件事就是進行網絡設置的主要是在網關中,由ip地址、子網掩碼、廣播地址,由這些來決定整個系統和外面的資源鏈接。shell

        網關:網關(Gateway)又稱網間鏈接器、協議轉換器。是一個硬件和軟件結合的設備(如今統稱」路由器」),是鏈接不一樣系統和網絡的橋樑,工做在網絡層。centos

        網關地址:字面意義,路由器的ip地址。用於該網段和其它網段的通訊(通常爲該網段的最小地址)。服務器

        廣播地址:是專門用於同時向網絡中該網段的全部工做站進行發送的一個地址。通常爲該網段的最大位。網絡

        Ip地址:每個設備(統稱操做系統)都會有一個網絡地址(如今普通PC都是使用IPv4,之後會慢慢過分到IPv6)。  IP地址=網絡地址+主機地址session

        子網掩碼:當設備須要進行網絡通訊的時候,用來計算訪問ip是否爲同一網段,若是是同一網段則直接鏈接,不然就繼續廣播。dom

        一般的計算方式:ssh

                Eg: ip地址/子網掩碼:192.168.1.5/24socket

                Ip:192.168.1.5tcp

                子網掩碼: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
相關文章
相關標籤/搜索