linux網絡管理

局域網主要包括兩種。一種是以太網,一種是令牌環網。

IP協議:

    IPv4主要分爲四類,它主要是點分十進制:0-255;0000 0000 - 1111 1111;0.0.0.0-255.255.255.255

    A類:

  0 000 0000 - 0 111 1111: 1-127

  網絡數:126, 127

  每個網絡中的主機數:2^24-2

  默認子網掩碼:255.0.0.0

  私網地址:10.0.0.0/8


     B類:

  10 00 0000 - 10 11 1111:128-191

  網絡數:2^14

  每個網絡中的主機數:2^16-2

  默認子網掩碼:255.255.0.0

  私網地址:172.16.0.0/16-172.31.0.0/16


     C類:

  110 0 0000 - 110 1 1111: 192-223

  網絡數:2^21

  每個網絡中的主機數:2^8-2

  默認子網掩碼:255.255.255.0

  私網地址:192.168.0.0/24-192.168.255.0/24


     D類:組播

  1110 0000 - 1110 1111: 224-239


     E類:

  240-255

子網掩碼的作用

    IP地址位數=網絡位數+主機位數=32位。子網掩碼的位數就是網絡的位數。A類網絡的網絡位數是8位,子網掩碼就是255.0.0.0,B類網絡的網絡位數是16位,子網掩碼是255.255.0.0,C類是24位,255.255.255.0。

ip跨網絡的通信方式:路由;主機路由;網絡路由;默認路由。

linux接入到網絡中,它的ip/mask,路由爲默認網關

DNS有兩種方式,一種是靜態指定。一種是動態分配。靜態指定有三種方式實現,用ifcig命令實現ifconfig,route.ip命令實現link、add、route.配置文件纔是永久生效的有效方式system-config-network-tui (setup)而在centos7實現就可以用這個nmcli, nmtui。動態分配:DHCP: Dynamic Host Configuration Protocol。

配置網絡接口的命名方式,在centos6上,以太網接口:eth[0,1,2,...],ppp:ppp[0,1,2,...]


ifconfig命令

ifconfig [interface]

# ifconfig -a

# ifconfig IFACE [up|down]

                                ifconfig interface [aftype] options | address ...

        # ifconfig IFACE IP/mask [up]

        # ifconfig IFACE IP netmask MASK

如果你想連接xshell,可以使用ifconfig可以查看它的IP地址,這裏是192.168.1.109.

例如:

[root@localhost ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:DA:AD:A0  

          inet addr:192.168.1.109  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:feda:ada0/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:13786 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1459 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:1294028 (1.2 MiB)  TX bytes:209248 (204.3 KiB)


lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:28 errors:0 dropped:0 overruns:0 frame:0

          TX packets:28 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:1560 (1.5 KiB)  TX bytes:1560 (1.5 KiB)

如果想改自己的網絡IP,可以輸入ifconfig eth0 192.168.1.11。這裏輸入過後就立即生效了,我這裏是生效後給你演示的,所以下面的一些就不要看了,把命令記住和操作記住就行。這裏是可以加入mask,子網掩碼進行。

[root@localhost ~]# ifconfig eth0 192.168.1.11

Connection closed by foreign host.


Disconnected from remote host(192.168.1.109:22) at 20:22:38.


Type `help' to learn how to use Xshell prompt.

[c:\~]$ 

       


        注意:立即生效;


        啓用混雜模式:[-]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 eth0


        默認路由,網關: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


        DNS服務器指定可以出現三次;

            /etc/resolv.conf

            nameserver DNS_SERVER_IP1

            nameserver DNS_SERVER_IP2

            nameserver DNS_SERVER_IP3


        正解:FQDN-->IP

        # dig -t A FQDN

        # host -t A FQDN

        反解:IP-->FQDN

        # dig -x IP

        # host -t PTR IP

       

        FQDN: www.magedu.com.

網絡狀態查看的命令: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 -I IFACE  

            配置Linux網絡屬性:ip命令


ip命令:

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


ip [ OPTIONS ] OBJECT { COMMAND | help }


OBJECT := { link | addr | route }


link OBJECT:

ip link - network device configuration


set

dev IFACE

可設置屬性:

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


show

[dev IFACE]:指定接口

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


ip address - protocol address management


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 - flush protocol addresses

使用格式同show


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 defalt via GW dev IFACE


ip route delete

刪除路由:ip route del TARGET 


ip route show

ip route flush

[dev IFACE]

[via PREFIX]


ss命令:

格式:ss [OPTION]... [FILTER]

選項:

-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


             修改配置文件


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

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


/etc/sysconfig/network-scripts/ifcfg-IFACE:

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/sysconfig/network-scripts/route-IFACE

兩種風格:

(1) TARGET via GW


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

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW


給網卡配置多地址:

ifconfig:

ifconfig IFACE_ALIAS 

ip

ip addr add 

配置文件:

ifcfg-IFACE_ALIAS

DEVICE=IFACE_ALIAS


注意:網關別名不能使用dhcp協議引導;


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


卸載網卡驅動:

modprobe -r e1000


裝載網卡驅動:

modprobe e1000



CentOS 7網絡屬性配置


傳統命名:以太網eth[0,1,2,...], wlan[0,1,2,...]


可預測功能


udev支持多種不同的命名方案:

Firmware, 拓撲結構


(1) 網卡命名機制

systemd對網絡設備的命名方式:

(a) 如果Firmware或BIOS爲主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1;

(b) 如果Firmware或BIOS爲PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1; 

(c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0;

(d) 如果用戶顯式啓動,也可根據MAC地址進行命名,enx2387a1dc56; 

(e) 上述均不可用時,則使用傳統命名機制;


上述命名機制中,有的需要biosdevname程序的參與;


(2) 名稱組成格式

en: ethernet

wl: wlan

ww: wwan


名稱類型:

o<index>: 集成設備的設備索引號;

s<slot>: 擴展槽的索引號;

x<MAC>: 基於MAC地址的命名;

p<bus>s<slot>: enp2s1


網卡設備的命名過程:

第一步:

udev, 輔助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules


第二步:

biosdevname 會根據/usr/lib/udev/rules.d/71-biosdevname.rules


第三步:

通過檢測網絡接口設備,根據/usr/lib/udev/rules.d/75-net-description

ID_NET_NAME_ONBOARD, ID_NET_NAME_SLOT, ID_NET_NAME_PATH


迴歸傳統命名方式:

(1) 編輯/etc/default/grub配置文件

GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"


(2) 爲grub2生成其配置文件

grub2-mkconfig -o /etc/grub2.cfg


(3) 重啓系統


地址配置工具:nmcli

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }


device - show and manage network interfaces


connection - start, stop, and manage network connections


如何修改IP地址等屬性:

#nmcli connection modify IFACE [+|-]setting.property value

setting.property:

ipv4.addresses

ipv4.gateway

ipv4.dns1

ipv4.method

manual


網絡接口配置tui工具:nmtui


主機名稱配置工具:hostnamectl

status

set-hostname


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