IP地址簡介 IP地址分類 特殊地址 子網掩碼的劃分 子網劃分的推薦思路 實例: Linux網卡配置介紹 添加IP地址192.168.2.2/24到eth0網卡上 Linux管理工具 ...
IP地址簡介
1 IP地址又叫網路地址也稱邏輯地址,由32位2進位數組成,分4段每段8位,由10進位數表示,範圍0~255,段與段之間用點隔開采用點分十進位的表示法,在一個網路中ip地址是唯一的,IP地址最主要的作用就是標識網路設備在網路中所在的位置,通過IP地址實現各電腦間的通訊。 2 IP地址由兩部分組成 3 網路ID: 標識網路,每個網段分配一個網路ID 4 主機 ID: 標識單個主機,由組織分配給各設備
IP地址分類
1 A類: 2 0 000 0000 - 0 111 1111: 1-127 3 網路數:126, 127 4 每個網路中的主機數:2^24-2 5 預設子網掩碼:255.0.0.0 6 私網地址:10.0.0.0 7 B類: 8 10 00 0000 - 10 11 1111:128-191 9 網路數:2^14 10 每個網路中的主機數:2^16-2 11 預設子網掩碼:255.255.0.0 12 私網地址:172.16.0.0-172.31.0.0 13 C類: 14 110 0 0000 - 110 1 1111: 192-223 15 網路數:2^21 16 每個網路中的主機數:2^8-2 17 預設子網掩碼:255.255.255.0 18 私網地址:192.168.0.0-192.168.255.0 19 D類:組播 20 1110 0000 - 1110 1111: 224-239 21 E類:保留未使用 22 240-255
特殊地址
1 0.0.0.0 2 0.0.0.0不是一個真正意義上的IP地址。它表示所有不清楚的主機和目的網路 3 255.255.255.255 4 限制廣播地址。對本機來說,這個地址指本網段內(同一廣播域)的所有主機 5 127.0.0.1~127.255.255.254 6 本機迴環地址,主要用於測試。在傳輸介質上永遠不應該出現目的地址為 7 “127.0.0.1”的 數據包 8 224.0.0.0到239.255.255.255 9 組播地址,224.0.0.1特指所有主機,224.0.0.2特指所有路由器。224.0.0.5指OSPF 10 路由器,地址多用於一些特定的程式以及多媒體程式 11 169.254.x.x 12 如果Windows主機使用了DHCP自動分配IP地址,而又無法從DHCP伺服器獲取地 13 址,系統會為主機分配這樣地址
子網掩碼的劃分
1 子網掩碼主要用於區分網路號和主機號,通過劃分子網實現對IP的地址有效管控利於管理、節省IP地址資源、同時可以將多個小的子網合成一個大網減少設備中的路由表條目從而減少設備的占用資源,要劃分子網要熟悉二進位和十進位之間的轉換,下麵會列出常用的子網掩碼和子網的對應關係
子網劃分的推薦思路
1 根據所有子網所需要的主機數總數,確定申請ip的網段 2 根據每個子網所需要的主機數,確定IP地址所有需要的主機位數 3 方法: 4 一個網路中主機最大數=2^主機ID位數(32-網路ID位數)-2=2^(32-網路ID位數)-2 5 網路數=2^可變網路ID 6 CIDR表示法:IP/網路ID位數 7 網路ID值=IP與子網掩碼 8 劃分子網:一個大網劃分成多個小網,網路ID位變多,主機ID位才變少,網路ID向主機ID借位N,分成2^N個小網 9 合併超網:多個小網合併成一個大網,主機ID向網路ID借位
實例:
1 給定IP地址167.77.88.99和掩碼255.255.255.192,子網號是什麼?廣播地址是什麼?有效IP地址是什麼? 2 我們根據以上提到的方法和上面掩碼對應的子網號可以很快的根據對應關係知道255.255.255.192的子網號是26 3 IP地址是167.77.88.99掩碼是255.255.255.192,這個子網的廣播地址、主機地址、及有效IP地址的範圍首先通過子網可以看到前3段都是固定的不會變,第4段中有2位是借主機位的那麼這樣就可以把167.77.88.99 4 的IP地址中的最後一段99用二進位表示出來:
5 99 01110011 6 借了2位就可以寫成下麵的方式借的2位為子網的位數,剩下的6位就是主機位: 7 99 01 110011 8 那麼從上面看可以根據子網的劃分方法,主機位全為0表示的是主機地址,主機位全為1就是廣播地址, 9 這樣就可以計算得出: 10 99 01 000000:主機地址64 11 99 01 111111:廣播地址127 12 從上面的計算可以得到的結果是: 13 子網號是:26 14 廣播地址是:167.77.88.127 15 主機地址是:167.77.88.64 16 有效IP地址是:167.77.88.65-167.77.88.126
17 我們在舉一個例子給定IP地址167.77.78.0和掩碼255.255.224.0,子網號是什麼?廣播地址是什麼?有效IP地址範圍?有效IP地址的個數?子網的個數?
18 根據表格可以直接寫出子網號是19,根據提供的計算方法可以確認有效IP地址的個數是2^13-2=8190,子網的個數是2^3=8
19 IP地址是167.77.78.0掩碼是255.255.224.0,這個子網的廣播地址、主機地址、及有效IP地址的範圍首先通過子網可以看到前2段都是固定的不會變,第3段中有3位是借主機位的那麼這樣就可以把167.77.78.0
20 的IP地址中的第3段78用二進位表示出來:
21 78 01001110
22 借了3位就可以寫成下麵的方式借的3位為子網的位數,剩下的13位就是主機位:
23 78 010 01110
24 那麼從上面看可以根據子網的劃分方法,主機位全為0表示的是主機地址,主機位全為1就是廣播地址,
25 這樣就可以計算得出:
26 78 010 00000:主機地址的第3位的值是64
27 78 010 11111:廣播地址的第3位的值是95
28 從上面的計算可以得到的結果是:
29 子網號是:26
30 廣播地址是:167.77.95.255
31 主機地址是:167.77.64.0
32 有效IP地址是:167.77.64.0-167.77.95.255
33 有效地址的個數:8190
34 子網的個數:8
Linux網卡配置介紹
1 centos6網卡名的配置文件:/etc/udev/rules.d/70-persistent-net.rules 2 修改網卡名稱之後需要卸載網卡驅動重新安裝 3 查看網卡驅動: 4 dmesg | grep -i eth0 5 ethtool -i eth0 6 查看模塊:lsmod 7 卸載網卡驅動:只是記憶體中卸載,虛擬機中叫e1000,物理機不一定 8 modprobe -r e1000 9 rmmod e1000 10 裝載網卡驅動: 11 modprobe e1000 12 13 14 將centos7網卡名恢復為傳統名稱:eth0,eth1 15 編輯/etc/default/grub 16 GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0" 17 為grub2生成配置文件 18 grub2-mkconfig -o /etc/grub2.cfg 19 重啟系統:reboot 20 21 linux主機網卡基本配置 22 /etc/sysconfig/network-scripts/ifcfg-eth0 23 DEVICE:此配置文件應用到的設備 24 HWADDR:對應的設備的MAC地址 25 BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp 26 NM_CONTROLLED:NM是NetworkManager的簡寫,此網卡是否接受NM控制;建議CentOS6為“no” 27 ONBOOT:在系統引導時是否激活此設備 28 TYPE:介面類型;常見有的Ethernet, Bridge 29 UUID:設備的惟一標識 30 IPADDR:指明IP地址 31 NETMASK:子網掩碼 32 GATEWAY: 預設網關 33 DNS1: DNS伺服器地址 34 DNS2: 冗餘DNS伺服器 35 /usr/share/doc/initscripts-9.49.30/sysconfig.txt:配置文件的說明參考 36 註意:ip地址只要配置在設備上不論在那個網卡都會做出響應,無論是哪個網卡的ip地址,IP地址 37 並不是真的綁定在網卡上,實際上是工作在內核中的,也就是說我們的地址實際上是在內 38 核中的,也就是不論網卡有多個自身配置了多少個地址,只要數據包能到這就會做出響應 39 靜態路由的配置方法,沒有則創建該文件: 40 網路配置文件(配置路由時添加文件用來永久保存) 41 /etc/sysconfig/network-scripts/route-IFACE 42 註意:需service network restart生效 43 兩種風格: 44 (1) TARGET via GW 45 如:10.0.0.0/8 via 172.16.0.1 46 (2) 每三行定義一條路由 47 ADDRESS#=TARGET 48 NETMASK#=mask 49 GATEWAY#=GW
添加IP地址192.168.2.2/24到eth0網卡上
1 編輯/etc/sysconfig/network-scripts/ifcfg-eth0 2 內容: 3 DEVICE=eth0 4 HWADDR=00:0C:29:3F:06:C7 5 TYPE=Ethernet 6 UUID=4f8f6d23-6f9d-43c9-aac5-aea5d1616fe4 7 ONBOOT=yes 8 BOOTPROTO=static 9 NM_CONTROLLEDl=no 10 NAME=eth0 11 IPADDR=192.168.2.2 12 NETMASK=255.255.255.0 13 GATEWAY=192.168.2.1 14 DNS1=114.114.114.114 15 DNS2=8.8.8.8
Linux管理工具
1 ifconfig 2 ifconfig [interface] :顯示所有網卡信息(只能顯示啟用的) 3 ifconfig -a :禁用啟用的網卡都看得見 4 ifconfig IFACE [up|down] :啟用或者是禁用網卡(相當與從鏈路層給down了 5 這種方式徹底一些) 6 ifdown:禁用網卡 7 ifup:啟用網卡 8 ifconfig interface [aftype] options | address ... :設置修改網卡信息 9 ifconfig IFACE IP/netmask [up] :配置地址(臨時修改,臨時測試使用) 10 ifconfig eth0:2 10.0.0.100/8:一個網卡配置多個地址給網卡起一個別名 11 ifconfig IFACE IP netmask NETMASK :臨時修改網卡的IP地址信息 12 註意:立即生效 13 14 route :路由 15 路由管理命令 16 查看:route -n 17 添加:route add 18 route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 19 目標:192.168.1.3 網關:172.16.0.1 20 route add -host 192.168.1.3 gw 172.16.0.1 dev eth0 21 目標:192.168.0.0 網關:172.16.0.1 22 route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0 23 route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0 24 預設路由,網關:172.16.0.1 25 route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1 26 route add default gw 172.16.0.1 27 刪除:route del 28 route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If] 29 目標:192.168.1.3 網關:172.16.0.1 30 route del -host 192.168.1.3 31 目標:192.168.0.0 網關:172.16.0.1 32 route del -net 192.168.0.0 netmask 255.255.255.0 33 34 ip :配置Linux網路屬性 35 ip [ OPTIONS ] OBJECT { COMMAND | help } 36 網路層: 37 ip address flush - 使用格式同show 38 ip address flush dev eth1:清空網卡上的所有IP地址 39 ip addr add 172.16.100.100/16 dev eth0:設置網卡ip地址 40 ip addr del 172.16.100.100/16 dev eth0:刪除網卡ip地址 41 ip addr add 172.16.100.100/16 dev eth0 label eth0:0 :添加標簽 42 ip addr del 172.16.100.100/16 dev eth0 label eth0:0 :刪除標簽 43 ip addr flush dev eth0 label eth0:0 :清空所有的標簽 44 ip route add 192.168.0.0/24 via 172.16.0.1 :添加網路路由 45 ip route add 192.168.1.13 via 172.16.0.1 :添加主機路由 46 ip route add default via GW dev IFACE :添加網關 47 ip route add default via 172.16.0.1 48 刪除路由:ip route del TARGET 49 顯示路由:ip route show|list 50 清空路由表:ip route flush dev eth0 51 鏈路層: 52 ip link show ens33 查看信息 53 ip link set ens33 down|up 啟動或關閉 54 55 ss:命令 56 ss命令 57 格式:ss [OPTION]... [FILTER] 58 netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信息。 59 選項: 60 -t: tcp協議相關 61 -u: udp協議相關 62 -w: 裸套接字相關 63 -x:unix sock相關 64 -l: listen狀態的連接 65 -a: 所有 66 -n: 數字格式 67 -p: 相關的程式及PID 68 -e: 擴展的信息 69 -m:記憶體用量 70 -o:計時器信息 71 常見用法 72 ss -l 顯示本地打開的所有埠 73 ss -pl 顯示每個進程具體打開的socket 74 ss -t -a 顯示所有tcp socket 75 ss -u -a 顯示所有的UDP Socekt 76 ss -o state established '( dport = :ssh or sport = :ssh )' 顯示所有已建立的ssh連接 77 ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接 78 ss -s 列出當前socket詳細信息