Linux基礎網絡管理

1.將linux主機接入到網絡,需要配置網絡相關設置

一般包括:

    主機名

    IP/NETMASK

    路由:默認網關

    DNS服務器

    主DNS服務器

    次DNS服務器

    次次DNS服務器

2.靜態指定:

    ifcfg:ifconfig,route,netstat

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

    system-config-network-tui(setup)

配置文件

    Centos 7:網絡配置工具

    nmcli,nmtui,nm-connection-editor

動態分配:

    DHCP:Dynamic Host Configuration Protocol

    ifconfig:

    ifconfig -a

    ifconfig eth0 (up|down)

    ifconfig eth0 IP/NETMASK [up|down]

     #立即生效

route命令:

    查看路由:route -n

    添加路由:route add

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

目標:10.1.249.112網關:10.1.0.1

    [root@localhost ]# route add -host 10.1.249.112 gw 10.1.0.1 dev eth0

目標:10.1.249.0 網關:10.1.0.1

    [root@localhost ]# route add -net 10.1.249.0 netmask 255.255.0.0 gw 10.1.0.1 dev eth0

    [root@localhost ]# route add -net 10.1.249.0/16 gw 10.1.0.1 dev eth0

默認路由網關10.1.0.1

    [root@localhost ]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.1.0.1

    [root@localhost ]# route add default gw 10.1.0.1

刪除目標:10.1.249.112      網關:10.1.0.1

    [root@localhost ]# route del host 10.1.249.112

刪除目標:10.1.249.0     網關:10.1.0.1

    [root@localhost ]# route del -net 10.1.249.0 netmask 255.255.0.0 

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] [--program|-p]

    -t:tcp協議相關

    -u:ucp協議相關

    -w:raw socket相關

    -l:處於監聽狀態

    -a:所有狀態

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

    -e:擴展格式

    -p:顯示相關進程及PID

netstat常用組和:

    -tan   tcp協議相關,所有狀態,以數字顯示IP和端口

    -uan   ucp協議相關,所有狀態,以數字顯示IP和端口

    -tnl   tcp協議相關,以數字顯示IP和端口,處於監聽狀態

    -unl   ucp協議相關,以數字顯示IP和端口,處於監聽狀態

顯示接口統計數據:

     netstat -i 顯示全部接口數據

     netstat -I=eth0  顯示eth0接口數據

     ifconfig -s eth0 顯示eth0接口數據

設置IP命令:

     ifup   eth0 開啓eth0端口

     ifdown eth0 關閉eth0端口

設置臨時IP:

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

刪除臨時IP:

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

     ip addr flush dev eth0 label eth0:0

 ss命令:

     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 計時器信息

 常用組合:

     -tan   tcp協議相關,所有,數字個格式

     -tanl  tcp協議相關,所有,數字個格式,listen狀態的鏈接

     -tanlp tcp協議相關,所有,數字個格式,listen狀態的鏈接相關的程序及PID

     -uan   ucp協議相關,所有,數字個格式

 常見用法:

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

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

     ss -t -a 顯示所有tcp socket

     ss -u -a 顯示所有ucp socket

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

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

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

TCP常見狀態:

    tcp finite state machine:

    LISTEN:監聽

    ESTABLISHED :已建立的鏈接

    FIN_WAIT_1  :等待遠程TCP鏈接中斷請求,或先前的鏈接中斷請求的確認

    FIN_WAIT_2  :從遠程TCP等待鏈接中斷請求

    CLOSE-WAIT  :等待從本地用戶發來的鏈接中斷請求

     CLOSING    :等待遠程TCP對鏈接中斷的確認

    LAST-ACK   :等待原來的發向遠程TCP的鏈接中斷請求的確認

    TIME-WAIT   :等待足夠的時間以確保遠程TCP接收到的鏈接中斷請求的確認

    SYN-SENT   :客戶端SYN_SENT狀態

    SYN-RECV   :服務端被動打開後,接收到了客戶端的SYN並且發送了ACK時的狀態。

    SYN-RECEIVED :服務器端狀態SYN_RCVD   如果發現有很多SYN_RCVD狀態,那你的機器有可能被SYN Flood的DoS(拒絕服務***)***了

    CLOSEDss   :沒有任何連接狀態

3.網絡配置文件

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

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

    UUID : 設備的惟一標識

    IPADDR: 指明IP地址

    NETMASK:子網掩碼

    GATEWAY: 默認網關

    DNS1:  第一個DNS服務器指向

    DNS2:  第二個DNS服務器指向

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

    PEERDNS:如果BOOTPROTO的值爲“ dhcp”,是否允許

    dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中

    網卡配置文件/etc/sysconfig/network-scripts

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

    /etc/hosts

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

    對小型獨立網絡有用

    通常,在使用DNS前檢查,getent hosts 查看/etc/hosts 內容

4.網卡相關命令:

    網絡接口識別並命名相關的udev配置文件

     /etc/udev/rules.d/70-persistent-net.rules

查看網卡:

    dmesg |grep –i eth

    ethtool -i eth0

卸載網卡驅動:

    modprobe -r e1000

    rmmod e1000

裝載網卡驅動:

    modprobe e1000

5.使用傳統命名方式:

    (1) 編輯/etc/default/grub配置文件GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"或:修改/boot/grub2/grub.cfg

    (2) 爲grub2生成其配置文件grub2-mkconfig -o /etc/grub2.cfg

    (3) 重啓系統

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章