linux網絡屬性常用命令有ifconfig\route\ip命令,centos7 的還是nmcli\nmtui。
網絡屬性的三大文件:修改DNS的文件/etc/resolv.conf 、修改網卡IP地址/etc/sysconfig/network-scripts/ifcfg-dev_name以及添加靜態路由的/etc/sysconfig/network-scripts/route-dev_name
ifconfig命令
常用options有: hw {ether|ax25|ARCnet}修改MAC地址, add/del 添加/刪除ip地址 up/down 把網卡的狀態設為up/down狀態 mtu 修改網卡的mtu值,默認是1500 arp/-arp 開戶/關閉arp協議 [root@Centos6 ~]# ifconfig #查看網卡狀態及信息 eth0 Link encap:Ethernet HWaddr 00:0C:29:DE:60:92 #網卡的類型及MAC地址 inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 #ip、mask、廣播地址 inet6 addr: 240e:a4:dd9:300:20c:29ff:fede:6092/64 Scope:Global inet6 addr: fe80::20c:29ff:fede:6092/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:67913 errors:0 dropped:0 overruns:0 frame:0 #接收的網絡報文數量統計 TX packets:22916 errors:0 dropped:0 overruns:0 carrier:0 #發送的網絡報文數量統計 collisions:0 txqueuelen:1000 RX bytes:38459605 (36.6 MiB) TX bytes:2424081 (2.3 MiB) #接收與發送報文的大小 [root@Centos6 ~]# ifconfig eth0 arp #啟動arp[root@Centos6 ~]# ifconfig eth0 -arp #關閉arp[root@Centos6 ~]# ifconfig eth0 mtu 1490 #修改mtu值[root@Centos6 ~]# ifconfig eth0 up #修改網卡狀態為up,默認就是up[root@Centos6 ~]# ifconfig eth0 down #修改網卡狀態為down。修改后網絡斷了,遠程連接被退出了Connection closed by foreign host. Disconnected from remote host(6.6) at 11:42:56. Type `help' to learn how to use Xshell prompt. root@Centos6 ~]# ifconfig eth0 192.168.1.12/24 #修改IP地址Connection closed by foreign host. Disconnected from remote host(6.6) at 11:53:37. Type `help' to learn how to use Xshell prompt. [c:\~]$ ssh 192.168.1.12 Connecting to 192.168.1.12:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Sun May 29 04:52:45 2016 from 192.168.1.6 [root@Centos6 ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:DE:60:92 inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0 #修改后立馬生效。 [root@Centos6 ~]# ifconfig eth0:1 192.168.1.11/24;ifconfig #為eth0添加子接口IP地址eth0:1,并馬上查看 eth0 Link encap:Ethernet HWaddr 00:0C:29:DE:60:92 inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0 ……………… eth0:1 Link encap:Ethernet HWaddr 00:0C:29:DE:60:92 #已添加成功 inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
IP 命令用來顯示或操縱Linux主機的路由、IP、策略路由和網卡狀態,是Linux下較新的功能強大的網絡配置工具
IP命令的使用格式
ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute |monitor } OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx| dnet | link } | -o[neline] } 常用的OBJECT有:link/addr/route,策略路由rule這里不顯示操作
OBJECT---link 可查看、修改網卡的各種二層信息 常用子command有: help 幫助---》 ip link help show 查看硬件屬性 up 查看up的接口 dev dev_name 查看指定接口 set 修改網絡的各種參數 up | down #設置網卡狀態為up或down arp on | arp off #開戶或關閉arp multicast on or multicast off #開啟或關閉組播 name NAME #設置網卡的名稱,修改前要把網卡的狀態變為down---》ip link set dev_name name dev-new_name mtu NUMBER #設置mtu address LLADDRESS broadcast LLADDRESS. alias NAME #設置別名 [root@Centos6 ~]# ip link show eth0 #查看eth0二層鏈接信息 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:de:60:92 brd ff:ff:ff:ff:ff:ff alias eth10 #別名為eth10[root@Centos6 ~]# ip link set eth0 alias eth100 #修改別為eth100[root@Centos6 ~]# ip link show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:de:60:92 brd ff:ff:ff:ff:ff:ff alias eth100 #修改成功[root@Centos6 ~]#
OBJECT---addr 可管理、刪除、查看IP地址 list|show 查看網卡的三層信息 add|delete 添加或刪除ip地址 label label_name為增加的IP地址添加卷標,類似了ifconfig eth0:0 的作用 flush 清除IP地址,使用service network dev_name 可以讓網卡重新加載IP地址 ip addr show查看三層信息
ip addr add 添加IP,以及label添加IP地址卷標eth0:1
ip addr del 刪除指定IP地址
ip addr flush 清除指定網卡的IP地址。格式是ip addr flush eth0
OBJECT---route 可添加、刪除、查看linux的路由信息 常用的子命令是: add 添加路由 list 查看路由 delete 刪除路由 flush 清除路由 ip route 或者 ip route list 查看路由表信息,其中每條路由最后的proto static 表示此路由是靜態路由
ip route add 添加路由,格式是ip route add des_add/mask via gw|dev_name
ip route delete 刪除路由,格式是ip route delete des_add/mask。下圖中172.16.1.0/24刪除完成。172.16.2/24 與172.16.3.0/24是后來添加的
route 路由查看、管理命令。route配置的路由會馬上生效,但重啟linux后,會丟失配置內容。
添加路由 route [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N][mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] 刪除路由 route [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N][[dev] If]
路由的查看、添加與刪除操作
[root@mfc ~]# route -n 查看路由
可以命以通過route {add|del|}查看route命令使用的格式
[root@mfc ~]# route add -net 192.168.200.0/24 gw 192.168.1.2 添加路由
[root@mfc ~]# route del -net 192.168.200.0/24 gw 192.168.1.2 刪除路由
192.168.200.0/24路由已經被刪除
注意:ifconfig\ip\route三個命令雖然配置簡單,而生效快,但最大的缺點是無法永久有效,重啟后配置將會丟失。解決的方法可以直接配置相應的配置文件,保存后可永久有效。
修改IP配置文件
修改IP地址的配置文件是cat /etc/sysconfig/network-scripts/ifcfg-dev_name,centos6網卡的名稱默認是ifcfg-eth{0,1,2,……},centos7的網卡默認以eno*
以centos6為例,修改配置文件后,service network restart 重啟網絡服務生效,centos7還可以使用systemctl restart network
配置文件說明: DEVICE: 此配置文件應用到的設備; HWADDR: 對應的設備的MAC地址; BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp; NM_CONTROLLED:NM是NetworkManager的簡寫;此網卡是否接受NM控制;CentOS6建議為“no”; ONBOOT:在系統引導時是否激活此設備; TYPE:接口類型;常見有的Ethernet, Bridge; UUID:設備的惟一標識; PADDR:指明IP地址; NETMASK:子網掩碼; GATEWAY: 默認網關; DNS1:第一個DNS服務器指向;此處的DNS配置優先于/etc/resolv.conf文件中的DNS配置 DNS2:第二個DNS服務器指向; USERCTL:普通用戶是否可控制此設備; PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中;
配置DNS服務器指向配置文件
cat /etc/resolv.conf 修改這文件
DNS服務器192.168.1.1是在網卡IP地址文件中/etc/sysconfig-network-scripts/ifcfg-eth0中配置的DNS1
編輯配置文件,添加DNS服務器8.8.8.8,并保存退出,立即生效
再查看此文件的內容
配置route
route的配置文件路徑是/etc/sysconfig/network-cripts/目錄下,以route-dev_name命令格式的文件,默認不存在,需要創建并配置。
通過此方式配置的路由有兩格式:
只有一行的格式:des_ipaddress/mask via gw 有三行的格式: ADDRESS#=dest_ipaddress NETMASK#=mask GETAWAY=gw 注意:兩個格式不同時使用,只能選用一個
創建配置文件并添加路由
Centos6
創建并保存文件后,service network restart 可以讓配置生效
Centos7
在centos7上的配置文件里,試過1行格式的172.16.3.0/24 via 192.168.1.1 和 172.16.3.0/24 via 192.168.1.1 dev eno16777736,然后nmcli device disconnetc eno016777736 && nmcli device connetc eno16777736 重新啟用網卡或重啟系統,都不生效;使用三行的格式的也不生效,郁悶中
三個命令的總結:ifconfig與route 命令幾乎所有的版本都支持,簡單好用,但也只有擁有基本的功能。ip這個命令功能強大,擁有網絡屬性中的link路信息、IP地址、路由、策略路由、多播、monitor 、鄰居等等功能,強大到沒有朋友 。三個命令都有的缺點是不能永久有效,若要永久生效,需要修改配置文件。
Centos7網絡屬性專用修改工具
網卡命名機制
systemd對網絡設備的命名方式: (a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1; (b) 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1; (c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0; (d) 如果用戶顯式啟動,也可根據MAC地址進行命名,如enx2387a1dc56; (e) 上述均不可用時,則使用傳統命名機制;
名稱組成格式
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) 為grub生成其配置文件 grub2-mkconfig -o /etc/grub2.cfg (3) 重啟系統
修改網絡名稱,修改成簡單一點
把網卡名稱修改成eth0
第一步驟,修改/etc/default/grub,紅色方框的內容是要添加進去的
第二步驟,重新生成grub配置文件,使用grub2-mkconfig -o /etc/grub2.cfg 命令,然后重啟
重啟后,網卡的名稱改為了eth0,這樣好記多了。
nmcli 網絡管理命令
nmcli [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { general | networking | radio | connection | device | agent } 鍵入nmcli后,按tab鍵可以查看后面的參數
查看系統鏈接網絡設備狀態,使用nmcli device status
關閉網卡eth0,使用nmcli device disconnect eth0,關閉后ifconfig查看網卡配置時,沒有IP的配置
開啟eth0,使用nmcli device connect eth0
總結:nmcli命令除了查看設備狀態、關閉或開啟外,還可以設置靜態IP地址、設置為DHCP獲取、DNS服務器IP等,但個人覺得這些功能使用較麻煩,不如IP/IFCONFIG命令簡單
nmtui可顯化配置命令,直接通過按扭操作
選擇“set system hostname” 設置主機名,修改為centos7x64,并<OK>,重啟后生效
選擇“Edit a connection”,修改網卡的IP地址,注意eth0系統連接識別的全稱是Ethernet connection 1,修改之后重啟生效
ss命令,可取代netstat ,執行效果比netstat快很多
ss [options] [ FILTER ]
常用選項
-t:TCP協議相關 -u:udp協議相關 -w:裸套接字相關 -x:unix sock相關 -l:listen狀態的鏈接 -a:所有 -n:不解析服務的名稱 -p:相關程序及PID -e:詳細的信息 -m:內存用量 -o:計時器信息 -s:顯示匯總信息 -F <路徑/文件名> 從指定的文件中讀取信息,并顯示出來 -A <文件路徑/文件名> 把查詢的結果轉存到指定的文件,支持{all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink},以逗號隔開 FILTER : = [stat tcp-state][expression] 配合使用代表式 ss -o state established ’( dport = :ssh or sport = :ssh )’ 顯示狀態是established,源端口sport是ssh或者目標端口dport是ssh 的連接的 常用的組合: -tapl -ualp -tal -ual
TCP的常見狀態:
LISTEN: 監聽 ESTABLISHED:已建立的連接 FIN_WAIT_1 FIN_WAIT_2 SYN_SENT #TCP SYN_RECV #TCP CLOSED #關閉
顯示連接匯總信息
顯示TCP信息
顯示特定IP地址的UDP\TCP鏈接信息,由實驗環境沒有UDP連接,查詢是沒有顯示出內容,但命令是這樣用。
指定特定IP與特定服務查詢連接情況,192.168.1.6只用53185端口連接linux,所以查詢80\ssh端口時沒有顯示
通過tcp的狀態查看連接情況。查看狀態是established的TCP連接
原創文章,作者:Net20-deamon,如若轉載,請注明出處:http://www.www58058.com/17280
已置頂,歡迎加入免檢家庭