Linux Network Manager
-
Network簡述
-
Switch,Router簡述
-
Linux Network 配置方法
-
ifcfg家族命令
-
ip家族命令
-
rhel7 nmcli命令
-
配置文件
Network簡述
Network是什么?
網絡是將分布在地理位置不同的計算機通過物理線路的連接,在網絡軟件的管理下,實現數據通信的過程。
Network有什么功能?
實現數據通信,資源共享,負載均衡。
OSI七層參考模型
ps 上述兩圖引用自網絡。。。為什么不自己做。。因為我懶。。。。
底層為高層提供服務,并相同層只能認知相同層,數據通過1->7時,自動添加頭文件并轉換源數據的格式。
報文->數據包->數據幀->比特流
Switch,Router簡述
Switch
二層Switch工作在OSI的第二層,數據通過廣播的方式依靠MAC地址傳輸,能夠劃分沖突域,并搭建小型的局域網絡。
Router
Router工作在OSI的第三層,能夠連接不同的兩個網絡,轉發網絡封包,自動學習路由表,能夠劃分廣播域。
Linux Network 配置方法
-
通過命令配置。
ifconfig,route,netstat
ip,nmcli,ss -
通過配置文件。
/etc/sysconfig/network-scripts/ifcfg-*
-
DHCP
ifcfg家族命令
ifcfg一系列命令是非常古老的命令,應用于各大發行版。
ifconfig
ifconfig [OPTION] [INTERFACE]:顯示網卡信息。
-v:vorbose -a:all -s:short list
ifconfig < INTEFACE > [COMMAND]:設置網卡屬性(ip,mask),是否啟用。
[IP/MASK]:設定IP與mask [UP|DOWN]:是否啟用 [[-]promisc]:混雜模式
配置立即生效
route
route [OPTION] [COMMAND]:不帶參數即顯示本機路由信息。
OPTION: -[4|6]:指定IP地址類型 COMMAND: add [-net|-host] ip/mask <gw> gw_address:添加一個NEW路由,指定目標ip/mask,下一跳地址。 del [-net|-host] ip/mask <gw> gw_address:刪除一個路由信息。 dev [INTEFACE]:與add等命令搭配使用,強制路由信息與一個IF綁定。
netstat
netstat [OPTION] :顯示網絡信息。
-r:顯示路由信息。 -I [device]:顯示指定網絡接口信息。 -i:列出所有網絡接口信息。 -t:tcp -u:udp -n:以數字的形式。 -a:all -l:顯示listen狀態的套接字信息。 -e:顯示擴展信息。 -p:顯示pid以及進程信息。 -w:顯示原始套接字信息。
IP家族命令
IP命令是比較新的一款網絡管理命名,擁有更加強大的功能。
ip命令
ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]] PS.之后的子命令格式省略[OPTION]選項
OPTION -s:詳細信息。 -f [Protocol]:指定強制使用的協議種類,默認為inet,any。
ip link [COMMAND]:網絡設備設置。
show:顯示所有網絡設備信息。 ip link show [INTEFACE] add:創建一個虛擬設備。 ip link add [COMMAND [ARGUMENTS]] [name [NAME]]:指定設備名稱。 [address [MAC_ADDRESS]]:指定MAC地址。 ...(更加多設置請參考 man ip-link ) delete :刪除一個虛擬設備。 ip link delete [INTEFACE] set:修改設備屬性。 ip link set [INTEFACE] [COMMAND [ARGUMENTS]] type [TYPE| [TYPE]= bridge|can|dummy|ifb|ipoib|macvlan|vcan|veth|vlan|vxlan|ip6tnl|ipip|sit [up|down]:啟動/關閉設備。 [name [NEW_NAME]]:修改設備名稱。 [promisc [on|off]]:混雜模式。 [arp [on|off]]: 地址解析協議。 [address [MAC_ADDRESS]]:修改MAC地址。 [mtu [#]]:修改最大傳輸單元。 [txqueuelen [#]]:修改傳輸隊列的長度。 [multicast [on/off]]:組播。
ip address [COMMAND]:協議地址管理。
show:顯示協議地址。 ip address show [COMMAND[ARGUMENTS]] [dev [INTEFACE]]:查看指定設備名稱的信息。 [up]:查看運行的設備。 [primary|secondary]:only list primary|secondary addresses。 ... add:創建一個新的協議地址。 ip address add <IP_address> <dev [DEV_NAME]> [COMMAND[ARGUMENTS]] [scope [global|site|link|host]]:指定作用域,global全局,site本地站點,link當前設備,host當前主機。 del:刪除一個協議地址。 ip address del <IP_address> <dev [DEV_NAME]> flush:清除協議地址。 ip address flush [dev [DEV_NAME]] [scope [SCOPE-ID]]
ip route [COMMAND]:路由管理。
list:列出route信息。 ip route list add:創建一個路由信息。 ip route add <target_ip> via <next_jump_address> dev [DEV] [dev [DEV]]:綁定網絡接口,即所有到此地址的包,都要從此網卡經過。 del:刪除一個路由信息。 ip route del <target_ip>
ss命令:顯示網絡狀態信息
ss [OPTION]
-t:tcp -u:udp -n:numble -a:all -l:listen -e:擴展 -4:ipv4 -6:ipv6 -w:原始套接字
RHEL7 nmcli命令
nmcli [OPTIONS] OBJECT [COMMAND]
nmcli general [COMMAND]:常規NM狀態。
status 顯示狀態 hostname 顯示主機名
nmcli networking [COMMAND]:設置網絡狀態。
[off|no]
nmcli radio [COMMAND]:顯示和設置交換廣播狀態[wifi]。
all 顯示所有。 wifi [on|off] wwan [on|off] wimax [on|off]
nmcli connection [COMMAND]:開始,停止和管理網絡連接。
show [INTERFACE] [INTEFACE] [DOWN|UP] :開啟/關閉網絡接口 delete [INTEFACE] add setting 屬性值 ... modify [INTEFACE] [+|-]setting 屬性值 ... setting: ipv4.dns ipv4.gateway ...
nmcli device [COMMAND]:顯示和管理網絡接口。
status:狀態信息。 show [INTERFACE]:詳細信息。 connect [INTERFACE]:激活網絡接口。 disconnect [INTERFACE]:關閉網絡接口。 delete [INTERFACE]:刪除。 wifi [list [ifname <ifname>] [bssid <BSSID>]] wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] [ifname <ifname>] :連入wifi。 [bssid <BSSID>] [name <name>] [private yes|no] wifi rescan [[ifname] <ifname>]:重新掃描wifi。
配置文件配置
指定DNS服務器:
/etc/resolv.conf nameserver DNS_Server_IP1 nameserver DNS_Server_IP2 nameserver DNS_Server_IP3
配置網絡接口文件:
/etc/sysconfig/network-scriptes/ifcfg-* [IPADDR]=IP ip地址。 [NETMASK]=MASK 子網掩碼。 [GETEWAY]=GW 網關。 [DNS1]=DNS1 dns服務器1 [DNS2]=DNS2 dns服務器2 [DEVICE]=DEVICE_NAME 設備名稱。 [ONBOOT]=yes|no 是否在系統引導時激活此設備。 [BOOTPROTO]=Protocol_TYPE 地址配置協議類型,常用的有DHCP STATIC BOOTP NONE [NM_CONTROLLED]=yes|no 是否允許接受Network Manager的管理。 [TYPE]=INTFACE_TYPE 指定網絡接口類型,常用的有Ethernet Bridge [UUID]=UUID [USERCTL]=yes|no 是否允許普通用戶控制此設備。 [PEERDNS]=yes|no 如果BOOTPROTO的值為DHCP,是否允許dhcp server分配的dns服務器指向信息直接覆蓋/etc/resolv
配置路由文件:
/etc/sysconfig/network-scriptes/route-* 風格一: target_ip via next_jump 風格二: ADDRESS#=target_ip NETMASK$=MASK GETEWAY#=NEXT_JUMP ps 兩種風格在一個配置文件中只能選擇一種。
網絡接口名稱配置文件:
/etc/udev/rules.d/70.persistent-net.rules
接口命名規則:
1.集成設備的索引信息,eno#
2.主板PCI-E擴展槽信息,ens#
3.硬件接口物理位置信息,enp#s#
4.MAC地址,enx#
5.默認名,eth#
PS RHEL7網絡接口的具體命名規則請自行查詢。
如果想要將文件名改回eth#,可以將/etc/udev/rules.d/下所有文件都鏈接到/dev/null
[RHEL7] ln -s /dev/null [/etc/udev/rules.d/FILE_NAME]
原創文章,作者:Net18_肖肖,如若轉載,請注明出處:http://www.www58058.com/13834
markdown使用不的錯,但還欠火候,加油