網絡管理2

六、配置網絡

    跨網絡通信:路由

    路由分類:

        主機路由

        網絡路由

        默認路由

    優先級:精度越高,優先級越高

        

    動態主機配置協議DHCP

blob.png

    基本網絡配置

        將Linux主機接入到網絡,需要配置網絡相關設置。

        一般包括如下內容:

            主機名

            IP/mask

            路由:默認網關

            DNS服務器

                主DNS服務器

                次DNS服務器

                第三DNS服務器

    網絡配置方式

        靜態指定:

            ifcfg: ifconfig, route, netstat

            ip: object {link, addr, route}, ss, tc

            system-config-network-tui (setup)

            配置文件

                CentOS 7:新增工具: nmcli, nmtui

        動態分配:

            DHCP: Dynamic Host Configuration Protocol

    配置網絡接口

        接口命名方式: CentOS 6:

            以太網: eth[0,1,2,…]

            ppp: ppp[0,1,2,…]

        fconfig命令

            ifconfig [interface]

            # ifconfig -a

            # ifconfig IFACE [up|down]

        ifconfig interface [aftype] options | address …

            # ifconfig IFACE IP/mask [up]

            # ifconfig IFACE IP netmask MASK

        注意:立即生效;

        啟用混雜模式: [-]promisc

    route命令

        路由管理命令

        查看: route -n

        添加: route add

            route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

        目標: 192.168.1.3 網關: 172.16.0.1

            # route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

        目標: 192.168.0.0 網關: 172.16.0.1

            # route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0

            # route add -net 192.168.0.0/24 gw 172.16.0.1 dev

        默認路由,網關: 172.16.0.1

            # route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1

            # route add default gw 172.16.0.1

        刪除: route del

            route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

        目標: 192.168.1.3 網關: 172.16.0.1

            # route del -host 192.168.1.3

        目標: 192.168.0.0 網關: 172.16.0.1

            # route del -net 192.168.0.0 netmask 255.255.255.0

    配置動態路由

        通過守護進程獲取動態路由

            安裝quagga包,支持多種格式的RIP、 OSPF和BGP

            命令vtysh配置

    netstat命令

        netstat – Print network connections, routing tables, interface,statistics, masquerade connections, and multicast memberships

        顯示網絡連接:

            netstat [–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[–extend|-e]] [–program|-p]

            -t: tcp協議相關

            -u: udp協議相關

            -w: raw socket相關

            -l: 處于監聽狀態

            -a: 所有狀態

            -n: 以數字顯示IP和端口;

            -e:擴展格式

            -p: 顯示相關進程及PID

        常用組合:

            -tan, -uan, -tnl, -unl

        顯示路由表:

            netstat {–route|-r} [–numeric|-n]

                -r: 顯示內核路由表

                -n: 數字格式

        顯示接口統計數據:

            netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]

            # netstat -i

            # netstat -IIFACE

            #ifconfig -s eno16777736

    ip命令

        配置Linux網絡屬性: ip命令

        ip – show / manipulate routing, devices, policy routing and tunnels

            ip [ OPTIONS ] OBJECT { COMMAND | help }

            OBJECT := { link | addr | route }

            ip link – network device configuration

                set dev IFACE

                    可設置屬性:

                        up and down:激活或禁用指定接口

                        ifup/ifdown

                    show [dev IFACE]:指定接口

                        [up]:僅顯示處于激活狀態的接口

        ip addr { add | del } IFADDR dev STRING

            [label LABEL]:添加地址時指明網卡別名

            [scope {global|link|host}]:指明作用域

                global: 全局可用;

                link: 僅鏈接可用;

                host: 本機可用;

            [broadcast ADDRESS]:指明廣播地址

        ip address show – look at protocol addresses

            [dev DEVICE]

            [label PATTERN]

            [primary and secondary]

        ip address flush – 使用格式同show

            ip addr add 172.16.100.13/16 dev eth0 label eth0:0

            ip addr del 172.16.100.13/16 dev eth0 label eth0:0

            ip addr flush dev eth0 label eth0:0

        ip route – routing table management

            添加路由: ip route add

            ip route add TARGET via GW dev IFACE src SOURCE_IP

                TARGET:

                    主機路由: IP

                    網絡路由: NETWORK/MASK

                ip route add 192.168.0.0/24 via 172.16.0.1

                ip route add 192.168.1.13 via 172.16.0.1

                添加網關: 

                    ip route add default via GW dev IFACE

                    ip route add default via 172.16.0.1

            刪除路由:

                ip route delete

                ip route del TARGET

            顯示路由: ip route show|list

            清空路由表:

                ip route flush [dev IFACE] [via PREFIX]

                ip route flush dev eth0

    ss命令

        格式: ss [OPTION]… [FILTER]

        netstat通過遍歷proc來獲取socket信息, ss使用netlink與內核tcp_diag模塊通信獲取socket信息。

        選項:

            -t: tcp協議相關

            -u: udp協議相關

            -w: 裸套接字相關

            -x: unix sock相關

            -l: listen狀態的連接

            -a: 所有

            -n: 數字格式

            -p: 相關的程序及PID

            -e: 擴展的信息

            -m:內存用量

            -o:計時器信息

        FILTER := [ state TCP-STATE ] [ EXPRESSION ]

        TCP的常見狀態:

            tcp finite state machine:

                LISTEN: 監聽

                ESTABLISHED:已建立的連接

                FIN_WAIT_1

                FIN_WAIT_2

                SYN_SENT

                SYN_RECV

                CLOSED

        EXPRESSION:

            dport =

            sport =

            示例:’ ( dport = :ssh or sport = :ssh )’

        常用組合:

            -tan, -tanl, -tanlp, -uan

        常見用法

            ss -l 顯示本地打開的所有端口

            ss -pl 顯示每個進程具體打開的socket

            ss -t -a 顯示所有tcp socket

            ss -u -a 顯示所有的UDP Socekt

            ss -o state established '( dport = :smtp or sport = :smtp )' 顯示所有已建立的SMTP連接

            ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接

            ss -x src /tmp/.X11-unix/* 找出所有連接X服務器的進程

            ss -s 列出當前socket詳細信息:

    網絡配置文件

        IP、 MASK、 GW、 DNS相關配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

    路由相關的配置文件:/etc/sysconfig/network-scripts/route-IFACE

    /etc/sysconfig/network-scripts/ifcfg-IFACE:說明參考/usr/share/doc/initscripts-9.49.30/sysconfig.txt

        DEVICE:此配置文件應用到的設備

        HWADDR:對應的設備的MAC地址

        BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp

        NM_CONTROLLED: NM是NetworkManager的簡寫,此網卡是否接受NM控制;建議CentOS6為“ no”

        ONBOOT:在系統引導時是否激活此設備

        TYPE:接口類型;常見有的Ethernet, Bridge

        UUID:設備的惟一標識

        IPADDR:指明IP地址

        NETMASK:子網掩碼

        GATEWAY: 默認網關

        DNS1:第一個DNS服務器指向

        DNS2:第二個DNS服務器指向

        USERCTL:普通用戶是否可控制此設備

        PEERDNS:如果BOOTPROTO的值為“ dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中

    本地解析器

        解析器執行正向和逆向查詢

        /etc/hosts

            本地主機名數據庫和IP地址的映像

            對小型獨立網絡有用

            通常,在使用DNS前檢查

            getent hosts 查看/etc/hosts 內容

    dns名字解析

        /etc/resolv.conf

            nameserver DNS_SERVER_IP1

            nameserver DNS_SERVER_IP2

            nameserver DNS_SERVER_IP3

        /etc/nsswitch.conf

            與/etc/hosts相比優先于DNS

        正解: FQDN–>IP

            # dig -t A FQDN

            # host -t A FQDN

        反解: IP–>FQDN

            # dig -x IP

            # host -t PTR IP

    網絡配置文件

        /etc/sysconfig/network-scripts/route-IFACE

            注意:需service network restart 生效

            兩種風格:

                (1) TARGET via GW

                    如:10.0.0.0/8 via 172.16.0.1

                (2) 每三行定義一條路由

                    ADDRESS#=TARGET

                    NETMASK#=mask

                    GATEWAY#=GW

    網卡別名

        對虛擬主機有用

        將多個IP地址綁定到一個NIC上

            eth0:1

            eth0:2

            eth0:3

        ifconfig命令:

            ifconfig eth0:0 192.168.1.100/24 up

            ifcofig rth0:0 down

        ip命令:

            ip addr add 172.16.1.2/16 dev eth0

            ip addr add 172.16.1.1/16 dev eth0 label eth0:0

            ip addr del 172.16.1.1/16 dev eth0 label eth0:0

            ip addr flush dev eth0 label eth0:0

    設備別名

        為每個設備別名生成獨立的接口配置文件

            關閉NetworkManager服務

            ifcfg-ethX:xxx

            必須使用靜態聯網

                DEVICE=eth0:0

                IPADDR=10.10.10.10

                NETMASK=255.0.0.0

                ONPARENT=yes

        注意: service network restart 生效

        參考/usr/share/doc/initscripts-*/sysconfig.txt

    網絡配置

        Linux網絡屬性配置的tui(text user interface):

            system-config-network-tui

            setup

            注意:記得重啟網絡服務方能生效

        配置當前主機的主機名:

            hostname [HOSTNAME]

            /etc/sysconfig/network

            HOSTNAME=

    網卡名稱

        網絡接口識別并命名相關的udev配置文件:/etc/udev/rules.d/70-persistent-net.rules

            查看網卡:

                dmesg |grep -i eth

                ethtool -i eth0

            卸載網卡驅動:

                modprobe -r e1000

                rmmod e1000

            裝載網卡驅動:

                modprobe e1000

原創文章,作者:DYW,如若轉載,請注明出處:http://www.www58058.com/44993

(0)
DYWDYW
上一篇 2016-09-09
下一篇 2016-09-09

相關推薦

  • 權限

    用戶組和管理權限

    2017-11-30
  • Linux系統上命令的使用格式

    第一部分:Linux系統上命令的使用格式 命令的語法通用格式:      COMMAND OPTIONS ARGUMENTS     發起一個命令:請求內核將某個二進制程序運行為一個進程;      程序 —-> 進程   &nbs…

    Linux干貨 2016-08-15
  • corosync + pacemaker搭建高可用mysql

    一、實驗圖     二、環境準備  1)確保時間同步 [root@SQL1 ~]# crontab -e  */5 * * * * /usr/sbin/ntpdate 172.16.2.15 [root@SQL2 ~]#…

    Linux干貨 2015-06-30
  • zabbix快速創建篩選(sql操作)

        公司由于大量業務調整,尤其是服務器功能和性能的轉變,監控也跟隨這變化,其中操作最為繁瑣的當數zabbix篩選(相信各位從頁面添加的都深感痛苦)于是有了本文。     本文采用的方法是sql操作(由于本人不會php等,無法寫程序直接調用官方api,所以,嘿嘿,不解釋,同時也希望各路大…

    Linux干貨 2015-12-17
  • 設計模式(一)工廠模式Factory(創建型)

      在面向對象編程中, 最通常的方法是一個new操作符產生一個對象實例,new操作符就是用來構造對象實例的。但是在一些情況下, new操作符直接生成對象會帶來一些問題。舉例來說, 許多類型對象的創造需要一系列的步驟: 你可能需要計算或取得對象的初始設置; 選擇生成哪個子對象實例; 或在生成你需要的對象之前必須先生成一些輔助功能的對象。 在…

    Linux干貨 2015-06-23
  • N25第十周博客作業

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情)        (1)post:加電自檢                主要是bios完成,檢查主機各個組件是否完好,能否達到運行要求;    &…

    Linux干貨 2017-03-10
欧美性久久久久