RedHat系列linux網絡屬性配置

一、Linux網絡管理基礎

1 路由條目

目標地址 經下一跳(nexthop)

目標地址的類別:

單個主機: 主機路由

網路接口: 網絡路由

目標地址為0.0.0.0/0.0.0.0: 默認路由

2 將linux主機接入到網絡中:

IP/NETMASK: 本地通信

路由(網關): 酷網絡通信

DNS服務器地址: 基于主機名的通信

主dns服務器地址

備用dns服務器地址

第三備用dns服務器地址

配置方式:

靜態指定

命令指定:

ifcfg家族

ifconfig: 配置IP,NETMASK

route: 配置路由

netstat: 狀態及網絡統計數據查看

iproute家族

ip OBJECT:

addr: 地址和掩碼配置

link: 管理接口

route: 路由

ss: 狀態及統計數據查看

CentOS 7: nm家族(network manager)

nmcdi: 命令行工具

nmtui: 圖形窗口工具

注意: 

(1) 定義DNS服務器指令

配置文件: /etc/resolv.conf

(2) 本地主機名配置

hostname

配置文件: /etc/sysconfig/network

CentOS 7: hostnamectl

修改配置文件:

RedHat及其相關發行版:

/etc/sysconfig/network-scripts/ifcfg-METCARD_NAME

動態分配: 依賴于本地網絡中有DHCP服務

DHCP: dynamic host configure procotol

3 網絡接口命名方式:

傳統命令方式:

以太網: ethX,[0,oo), 例如, eth0, eth1,…

PPP網絡: pppX, 例如: ppp0, ppp1,…

可預測命名方案(CentOS 7):

支持多種不同的命名機制:

fireware, 拓撲結構

(1) 如果firmware或bios為主板上集成的設備提供的索引信息可用, 則根據此索引進行命名, 如eno1, eno2,…

(2) 如果firmware或bios為PCI-E擴展槽所提供的索引信息可用, 且可預測, 則根據此索引進行命名, 如ens1, ens2,…

(3) 如果硬件結構的物理位置信息可用, 則根據此信息命名, 如enp2s0

(4) 如果用戶顯示定義, 也可根據mac地址命名, 例如enx122131ab2e10,…

(5) 上述均不可用時, 則仍使用傳統方式命名

命名格式的組成:

en: ethernet

wl: wlan

ww: wwan

名稱的類型:

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

s<插槽號>: 擴展槽的索引號

x<MAC地址>: 基于MAC地址的命名

p<bus>s<slot>: 基于總線及槽的拓撲結構進行命名

TCP/IP協議棧: 物理層, 互聯網層, 傳輸層, 應用層

互聯網層: IP協議

傳輸層: TCP, UDP

應用層: HTTP, https, ftp, ldap

鏈接路層: 以太網幀

互聯網層: IP報文

以太網幀: 最大傳輸單元MTU(1500) 

二、Linux網絡屬性配置: 命令、配置文件

1 ifcfg命令家族: ifconfig, route, netstat

ifconfig – configure a network interface

ifconfig : 顯示處于活動狀態的接口信息

ifconfig -a: 顯示所有接口信息, 包括非激活狀態

ifconfig [interface]: 顯示指定接口的信息

ifconfig interface [aftype] optiongs | address

# ifconfig IFACE IP/MASK [up]

# ifconfig IFACE IP netmask NETMASK [up|down]

示例:

# ifconfig eth1 10.1.52.12/16 up

# ifconfig eth1 10.1.52.12 netmask 255.255.0.0 up

options:

[-]promisc: 混雜模式

注意: 立即送往內核中的TCP/IP協議棧并立即生效

管理IPv6地址:

add addr/prefixlen: 添加

del addr/prefixlen: 刪除

route: 路由查看及管理

路由條目類型: 

主機路由: 目標地址為單個IP

網絡路由: 目標地址為IP網絡

默認路由: 目標為任意主機: 0.0.0.0/0.0.0.0

查看:

# route -n: 以數字格式查看路由信息

添加:

route add [-net|-host] target [netmask Nm] [gw GW] [[dev] IF]

示例:

route add -net 10.0.0.0/8 gw 192.168.10.1 [dev eth1]

route add default gw 192.168.10.1

刪除:

route del [-net|-host] target [gw GW] [netmask NM] [[dev] IF]

示例:

route del -net 10.0.0.0/8 gw 192.168.10.1

route del default

netstat – print network connections, routing tables, interface staticstics, masquerade connections, and multicast memberships, 顯示網絡連接, 路由表, 接口統計數據, 偽裝連接, 多播成員關系

顯示路由信息: 

netstat -rn

-r: 顯示內核信息

-n: 顯示數字信息

顯示網絡鏈接: 

-t: 顯示tcp連接的相關信息; 連接均有其狀態;FSM(finate state machine)

-u:

顯示udp連接的相關信息;

-l|–listening: 查看處于監聽狀態的連接

-a: 所有狀態的連接;

–numeric|-n: 數字顯示;

–program|-p: 顯示相關的進程;

-w: raw socket相關的連接;

-e: 擴展格式

常用組合:

-tan, -uan, -tnl, -unl, -tunal

顯示接口的相關統計數據:

netstat {–interfaces|-I|-i} …..

所有接口:

netstat -i

指定接口:

netstat -I<IFace>

ifup/ifdown命令:

ifup: bring a network interface up

ifdown: take a network interface down

注意: 讀取配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE來識別接口并完成配置

2 配置主機名

hostname命令:

查看: hostname

配置: hostname HOSTNAME, 當前系統有效, 重啟后失效

CentOS 7

hostnamectl – query or change system hostname

hostnamectl status: 顯示主機名設定信息

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

配置文件: /etc/sysconfig/network

HOSTNAME=<HOSTNAME>

注意: 設定后不會立即生效, 需要重讀配置文件; 但是設置后永久有效

3 配置DNS服務器指向

配置文件: /etc/resolv.conf

nameserver DNS_SERVER_IP

如何測試(host/nslookup/dig)

cat /etc/hosts

# dig -t A FQDN

FQDN –> IP

#dig -x IP

IP –> FQDN

4 iproute家族

1、ip 命令

查看、管理路由、設備,管道設備

ip [options] OBJECT {COMMAND}

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

注意:OBJECT 可簡寫, 各OBJECT的子命令也可以簡寫

ip OBJECT

(1) ip link – network device configuration

ip link set – 修改設備屬性

ip link set dev DEVICE { up | down | arp { on | off }}

ip link set DEVICE multicast { on|off }: 啟用或禁用多播功能

ip link set name NAME: 重命名接口名稱

ip link IFACE netns PID: ns為namespace, 用于將接口移動到指定的名稱空間中

ip link help: 顯示簡要使用幫助

ip link show|list – 顯示設備屬性

(2) ip netns: – manage network namespaces

ip netns list : 列出所有的nets

ip netns add NAME : 創建指定的netns

ip netns del NAME : 刪除指定的netns

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

示例:

ip netns list

ip netns add mynet

ip link set eno167777736 netns mynet

ip link show

ip netns exec mynet ip link show

(3) ip address – protocol address management

ip address add – add new protocol address

ip addr add IF_addr dev IFACE

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

[broadcast ADDRESS]: 廣播地址

[scope SCOPE_VALUE]: 生效范圍

global: 全局可用

link: 接口可用

host: 本機可用

示例:

ip addr add 10.1.0.1/16 dev eth1

ip addr add 10.2.0.1/8 dev eth1 label eth1:0

ip address delete – delete protocol address

ip addr delete IF_addr dev IFACE

ip address { show | list }

ip addr list [IFACE]: 僅顯示指定接口的地址

ip address flush: 清空所有地址

ip addr flush dev IFACE

(4) ip route – routing table management, 路由表管理

ip route { add | change | replace }

ip route add TYPE PREFIX via(經由哪個網關) GW [dev IFACE] [src SOURCE_IP]

示例:

ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100

ip route add default via GW

ip route delete

ip route delete TYPE PREFIX

示例:

ip route delete 192.168.10.0

ip route { show | list }

TYPE PREFIX

ip route get – get a single route

ip route get TYPE PREFIX

示例: 

ip route get 192.168.0.0/24

ip route flush

TYPE PREFIX

2、ss 命令

ss [options] [FILTER(過濾器)]

選項:

-t: tcp協議相關的連接

-u: udp協議相關的連接

-w: raw socket相關的連接

-l: 監聽狀態的連接

-a: 所有狀態的連接

-n: 數字格式顯示

-p: 相關的程序及PID號

-e: 擴展格式信息

-m: 顯示內存用量

-o: 顯示計時器信息

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

TCP常見狀態:

TCP FSM:

LISTEM: 監聽

ESTABLISHED: 已經建立的連接

FIN_WAIT_1: 斷開的連接 

FIN_WAIT_2: 確認斷開連接

SYN_SENT: 

SYN_RECV: 

CLOSED: 

EXPRESSION:

dport = 

sport =

示例:

~]# ss -tan '( dport = :22 or sport = :22 )'

~]# ss -tan state ESTABLISHED

5 配置文件: 

IP、netmask、gw、dns等屬性的配置文件

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

IFACE: 接口名稱

通過大量參數來定義接口的屬性, 可通過vim等文本編輯器直接修改, 也可通過專用的命令進行修改

CentOS 6: system-config-network或setup

CentOS 7: nmtui

路由的相關配置文件

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

ifcfg-IFACE配置文件參數:

DEVICE: 此配置文件的對應的設備的名稱, 要與文件名的IFACE對應一致

ONBOOT={yes|no}: 在系統引導過程中是否激活

NETBOOT={yes|no}: 是否支持網絡引導

UUID: 此設備的唯一標示

IPV6INIT: 是否初始化ipv6 協議

BOOTPROTO: 激活此接口時使用什么協議配置接口屬性, 常用的有dhcp(動態地址), bootp, static(靜態地址), none

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

DNS1: 第一DNS服務器指向

DNS2: 第二備用DNS服務器指向

DOMAIN: DNS搜索域

DEFROUTE={yes|no}: 

GATEWAY: 默認網關

IPADDR: 配置本機IP地址

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

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

PEERDNS: 如果BOOTPROTO的值為"dhcp", 是否允許dncp server分配的dns服務器指向覆蓋本地手動指定的dns服務器指向, 默認為允許yes

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

HWADDR: 設備的MAC地址

網絡服務: network, NetworkManager

修改配置文件后, 需要重啟網絡服務才能生效

CentOS 6:service SERVICE {start|stop|restart|status}

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

示例: 

service network restart

systemctl restart network.service

用到非默認網關路由: /etc/sysconfig/network-scripts/route-IFACE

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

(1) 每行一個路由條目

TARGET via GW

(2) 每三行一個路由條目

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP

6 給接口配置多個地址

ip addr之外, ifconfig或配置文件都可以

(1) ifconfig IFACE_LABLE IPhone_ADDR/NETMASK

IFACE_LABLE: eth0:0, eth0:1, …

(2) 為別名添加并定義配置文件

DEVICE=IFACE_LABLE

BOOTPROTO: 網卡別名不支持動態獲取地址

static, none

nmcli 命令: command-line tool for controlling NetworkManager

nmcli [options] OBJECT {COMMAND | help}

OBJECT := { general | networking | radio | connection | device | agent}

device – show and manage network interfaces

COMMAND := {status | show | connect | disconnect | delete | wifi | wimax}

connection – start, stop, and manage network connection

COMMAND := { show | up | down | add | edit | modify | delete | reload | load }

如何修改IP地址等屬性

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

ipv4.address

ipv4.gateway

ipv4.dns1

ipv4.method

manual

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

(0)
black_fishblack_fish
上一篇 2016-09-19
下一篇 2016-09-19

相關推薦

  • 磁盤管理(一)磁盤分區表類型與文件系統

    概述:本章介紹磁盤分區和文件系統,深度了解linux存儲數據所依賴到各個部分模塊。 設備文件 I/O Ports: I/O設備地址 一切皆文件: Linux為所有的設備文件都提供了統一的操作函數接口,方法是使用數據結構struct file_operations。這個數據結構中包括許多操作函數的指針,如open()、close()、read()和write(…

    Linux干貨 2016-09-01
  • 計算機基礎及Linux基礎

    計算機基礎與Linux入門 計算機組成及功能 Linux常見發行版 Linux重要哲學思想 Linux文件系統層級結構及文件命名規則 如何獲取Linux命令的使用幫助 Linux常用命令及示例 1.1 計算機組成及功能 1.1.1 計算機的五大部件 計算機的主要組成部分有: 1、CPU:運算器 2、控制器、寄存器(內部存儲)、緩存; 3、存儲器:內存,RAM…

    Linux干貨 2016-12-04
  • 馬哥教育網絡班21期+第六周博客作業

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; # cp -a /etc/rc.d/rc.sysinit /tmp/ # ls /tmp/ | grep rc.sysin…

    Linux干貨 2016-08-15
  • 淺談篩選日志中的IP地址信息

    作為運維人員,經常會需要會對日志中的某些重要信息進行篩選,比如說ip等參數。 案例一:篩選出IP地址信息 日志信息如下: [root@C67-X64-A1 hanghang]# cat test.txt  Jul 13 08:13:09 localhost sshd[14678]…

    系統運維 2016-07-22
  • Linux啟動和內核管理

    Linux啟動和內核管理   CentOS 5和6的啟動流程服務管理Grub管理自制Linux啟動排錯編譯安裝內核   Linux組成Linux: kernel+rootfskernel: 進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能rootfs:程序和glibc庫:函數集合, function, 調用接口(頭文件負責描述)…

    Linux干貨 2017-09-04
  • N22第八周作業

    1. 請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋從一個局域網接收MAC幀,拆封、校對、校驗之后,按另一個局域網的格式重新組裝,發往它的物理層。由于網橋是鏈路層設備,因此不處理數據鏈路層以上層次協議所加的報頭。   集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把…

    Linux干貨 2016-12-26
欧美性久久久久