Linux網絡基礎命令

1.ifcfg命令家族


1.1 ifconfig命令

    ifconfig 用來查看和管理接口及地址

查看: ifconfig [INTERFACE]

           ifconfig -a    顯示所有接口,包括inactive狀態的接口

管理: ifconfig interface [aftype] options | address ...

    [options] :

        [-]promisc  啓用或禁用混雜模式

        [-]allmulti 啓用或禁用組播

用來設置IP地址有兩種方式:

        ifconfig IFACE IP/MASK [up]
        ifconfig IFACE IP netmask NETMASK

管理ipv6地址:

        ifconfig add addr/prefixlen        添加地址
        ifconfig del addr/prefixlen        刪除地址


例:設置eth1地址爲192.168.10.10,掩碼爲255.255.255.0

~]# ifconfig eth1 192.168.10.10/24
~]# ifconfig eth1 192.168.10.10 netmask 255.255.255.0


1.2 route命令

    route 管理及查看路由

查看:

    route -n      顯示路由條目

添加:

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

示例:

~]# route add -net 192.168.10.0 gw 192.168.1.1 dev eth1

刪除:

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

示例:

~]# route del -net 192.168.10.0/24


1.3 netstat命令

    netstat  用來顯示網絡連接、路由信息、接口狀態......

顯示路由信息:

    netstat -rn   

-r :顯示內核路由表

-n :以數字格式顯示

顯示網絡連接:

netstat [--tcp|-t] [--udp|-u] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]

    -t:TCP協議的相關鏈接,鏈接均有其狀態,FSM

-u:UDP協議的相關鏈接

-U:簡裝版的UDP的相關鏈接

-w:raw socket(裸套接字)相關鏈接

-l:處於監聽狀態的鏈接

-a:所有狀態

-n:以數字格式顯示IP和Port

-e:擴展格式

-p:顯示相關的進程及PID

顯示接口的統計數據:

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

所有接口:

netstat -i 

指定接口:

netstat -I<IFace>

例1:查看TCP協議所有處於監聽狀態的鏈接

~]# netstat -tnl

例2:查看UDP協議下所有的狀態並顯示相關PID

~]# netstat -unap


1.4 配置主機名

CentOS :    

    hostname命令:

    查看: hostname

    配置: hostname HOSTNAME

    當前系統有效,重啓後無效

CentOS 7:

hostnamectl命令:

hostnamectl status 顯示當前主機名信息

hostnamectl set-hostname :設定主機名,永久有效

例: 

~]# hostnamectl set-hostname ch


 
2.iproute2家族


2.1 ip命令

    ip 查看或設置路由、網絡配置......

用法:

    ip [ OPTIONS ] OBJECT { COMMAND | help }

        OBJECT = { link | addr | route | netns}...


ip link set  修改設備屬性

    dev NAME (default) :指明要管理的設備,/dev可省略

    up and down  啓用或禁用接口

    arp on or arp off  啓用或禁用arp地址解析

multicast on or multicast off :啓用或禁用多播功能

例:ip link set eth0 multicast on

name NAME:重命名接口

txqlen :設置隊列長度

mtu NUMBER: 設置MTU的大小,默認爲1500

netns PID :ns爲namespace(名稱空間),用於將接口移動到指定的網絡名稱空間

例:ip link set eth1 netns mynet


ip netns : 管理網絡名稱空間

ip netns list 列出所有的netns

ip netns add NAME 創建指定的netns

例:ip netns add mynet

ip netns del NAME  刪除指定的netns

ip netns exec NAME COMMAND 在指定的netns中運行命令

例:ip netns exec mynet ip link show


ip link show  顯示設備屬性


ip address ip地址管理

    ip address add 添加

ip addr add IFADDR dev IFACE   

label NAME :爲額外添加的地址指明接口別名

例:ip addr add 192.168.10.10/24 dev eth1 label eth1:1

[broadcast ADDRESS] 廣播地址,會根據IP和NETMASK自己計算

[scope SCOPE_VALUE] 作用域:

global:全局可用

link :接口可用

host:僅本機可用

    ip address delete  刪除

ip addr delete IFADDR dev IFACE

ip address show  顯示地址

[IFACE] 僅顯示指定接口的地址

ip address flush 清空指定接口的所有地址

ip addr flush dev IFACE 


ip route 路由管理

ip route add           添加路由

ip route change         修改路由

ip route replace          修改或添加路由

ip route add TYOE PREFIX via [GW] [dev IFACE] [srv SOURCE_ip]

例:ip route add 192.168.30.0/24 via 192.168.20.1 dev eth1

ip route delete     刪除路由

    ip route del TYPE PREFIX

例: ip route del 192.168.30.0/24

ip route show        顯示路由

ip route flush       刷新路由表

ip route get       獲取某路由條目的相關信息

    ip route get TYPE PREFIX

例:ip route get 192.168.0.0/24


2.2 ss命令

    ss  是用來取代netstat命令的

用法:

    ss [optins] [FILTER]

[optins]:

    -t :TCP協議的相關鏈接

-u :UDP協議的相關鏈接

-w :raw socket相關鏈接

-l :監聽狀態的鏈接

-a :所有狀態的鏈接

-n :數字格式

-p :相關的程序及其PID

-e :擴展格式信息

-m :內存用量

-o :計時器信息

[FILTER]:

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

    EXPRESSION:

dport=   目標端口

sport= 源端口

示例'( dport=:22 or sport=:22 )'

例: ss -tan '( dport=:22 or sport=:22 )'


3.修改配置文件


3.1 主機名的配置文件

    配置文件位置:/etc/sysconfig/network

        HOSTNAME=<HOSTNAME>


3.2 DNS的配置文件

    配置文件位置:/etc/resolv.conf 

        nameserver    DNS_SERVER_IP

        最多可以有3個DNS服務器地址


3.3 本地hosts文件

    配置文件位置:/etc/hosts

        IP    FQDN


3.4 路由的配置文件

    配置文件位置:/etc/sysconfig/network-scripts/route-IFACE

支持兩種配置方式,但兩者不可混用

    1.每行一個路由條目

    TARGET via GW

2.每三行一個路由條目

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP

#:代表數字,第幾組


3.5 網卡的配置文件

    配置文件位置:/etc/sysconfig/network-scripts/ifcfg-IFACE

    配置文件參數:

        DEVICE:此配置文件對應的設備的名稱

        ONBOOT:在系統引導過程中,是否激活

NETBOOT:是否支持網絡引導

UUID :此設備的唯一標識

IPv6INIT :是否初始化IPv6協議棧

BOOTPROTO :激活此接口時使用什麼協議來配置接口屬性,常用的有(dhcp,bootp,static,none)

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

DNS1: 第一DNS服務器指向

DNS2:第二DNS服務器指向

DOMAIN:DNS搜索域

GATEWAY :默認網關

HWADDR: 設備的MAC地址

IPADDR : 本機ip地址

NETMASK :子網掩碼 ,CentOS 7支持使用以長度方式指明子網掩碼

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

PEERDNS :如果BOOTPROTO的值爲“dhcp” ,是否允許dhcp server分配的dns服務器指向覆蓋本地手動指定的DNS服務器,默認爲允許

NM_CONTROLLED :是否使用NetworkManager服務來控制接口


4.網絡服務管理

    配置文件修改後,如果要立即生效,則需要重啓網絡服務

管理網絡服務:

CentOS 6 : service SERVICE [start|stop|restart| status]

CentOS 7 : systemctl {start|stop|restart|status} SERVICE.service


例:重啓網絡服務

~]# service network restart                  CentOS 6
~]# systemctl restart network.service        CentOS  7


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