原始出處: http://opsmysql.blog.51cto.com/2238445/1214496
一、網絡配置文件
1. /etc/sysconfig/network? 文件
功能:設置主機最基本的網絡信息,包括主機名、默認網關等信息
內容:
NETWORKING= yes/no 設定啟動系統時是否啟用網絡服務
HOSTNAME= www.mysqlopNaN 設定主機名(不是NETBIOS名)
GATEWAY= 192.168.0.1 設定默認網關
GATEWAYDEV= eth0 設定網關接口
FORWARD_IPV4= yes/no 設定LINUX是否支持IP轉發
?
2. /etc/sysconfig/network-scripts/ifcfg-ethX(X 取值0,1,2,…….n)
功能:用于配置以太網接口卡的初始信息,。
內容:
ONBOOT= yes 在設定啟動時,是否激活網卡
DEVICE= eth0 設定物理設備名稱
BOOTPROTO= none|static|dhcp|bootp 設定網卡啟動協議
NETMASK= 255.255.255.0 設定子網掩碼
BROADCAST= 192.168.3.255 設定廣播碼
NETWORK= 192.168.3.0 設定網絡號
IPADDR= 192.168.3.2 設定主機IP
3. /etc/resolv.conf
功能:域名服務客戶端的配置文件,用于指定域名服務器的位置
內容:
domainnamelinux.cn 設定主機域名
searchlinux.cn 設定搜索列表
nameserver192.168.0.254 設定DNS服務器的IP(最多三個)
?
4. /etc/hosts
功能:IP地址和主機名的映射
內容:
127.0.0.1localhost.localdomain syslog
::1localhost6.localdomain6localhost6
192.168.2.100 MySQL-HK-001
192.168.2.110 MySQL-HK-011
?
5. /etc/ modprobe.conf & /etc/modprobe.d/
內核模塊加載相關的配置文件
?
6. /etc/nsswitch.conf
/etc/nsswitch.conf 文件用于管理系統中多個配置文件的查找順序,它比/etc/host.conf文件提供了更多的功能。/etc/nsswitch.conf中的每一行或者是注釋(以#號開頭),或者是一個關鍵字后跟冒號和一系列要試用的有順序的方法。每一個關鍵字是在/etc/目錄可以被/etc/nsswitch.conf控制的/etc文件的名字。
下面是可以被包含的關鍵字:
aliases? 郵件別名;passwd 系統用戶;group 用戶組;shadow 隱蔽口令;hosts 主機名和IP地址;networks網絡名稱及號碼;protocols 網絡協議;services端口號碼和服務名稱;ethers 以太網號碼;rpc 遠程進程調用的名稱和號碼;netgroup 網內組。
?
7. /etc/services
/etc/services 中包含了服務名和端口號之間的映射,不少系統程序要使用這個文件。
?
二、常用的網絡服務命令簡單使用
1. ifconfig
功能:
顯示網絡接口的配置信息
激活/禁用某個網絡接口
配置網絡接口IP地址
格式:
# ifconfig[< 接口名>]
# ifconfig< 接口名>(up/down)
# ifconfig< 接口名>ip地址netmask子網掩碼
實例:
(1) # ifconfig
(2) # ifconfig eth0
(4) # ifconfig eth0 down
(5) # ifconfig eth0 192.168.3.3 netmask255.255.255.0 配置的地址立即生效,但重啟網絡服務或主機,都會失效
(6) # ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
(7) # ifconfig eth0 hw ether00:AA:BB:CC:DD:EE 修改MAC地址
(8) #? 啟用和關閉ARP協議
ifconfig eth0 arp
ifconfig eth0 -arp
(9) # ifconfig eth0 mtu 1500 設置最大傳輸單元
一塊網卡可以使用多個地址:
網絡設備可以別名:
eth0
ethX:X,eth0:0, eth0:1, ...
配置方法:
ifconfigethX:X IP/NETMASK
/etc/sysconfig/network-scripts/ifcfg-ethX:X
DEVICE=ethX:X
?
2. ifup
功能:激活網絡接口。
格式: ifup <設備名>
實例: # ifupeth0
3. ifdown
功能:禁用網絡接口。
格式:ifdown <設備名>
實例:# ifdown eth0
?
功能:向目標主機發送icmp數據包(檢測網絡)
格式: ping ?[- df nqrRv][-c< 完成次數>][-i<間隔秒數>][-I<網絡界面>][-l<前置載入>][-p<范 本樣式>][-s<數據包大小>][-t<存活數值>][主機名稱或IP地址]
參數:
-d?
使用Socket的SO_DEBUG功能
-c<完成次數> ? 設置完成要求回應的次數
-f ? 極限檢測
-i<間隔秒數> ? 指定收發信息的間隔時間
-I<網絡界面> ? 使用指定的網絡界面送出數據包
-l<前置載入> ? 設置在送出要求信息之前,先行發出的數據包
-n ? 只輸出數值
-p<范本樣式> ? 設置填滿數據包的范本樣式
-q ? 不顯示指令執行過程,開頭和結尾的相關信息除外
-r ? 忽略普通的Routing Table,直接將數據包送到遠端主機上
-R ? 記錄路由過程
-s<數據包大小> ?設置數據包的大小
-t<存活數值> ? 設置存活數值TTL的大小
-v ? 詳細顯示指令的執行過程
實例:
ping 192.168.1.1
ping -c 10? 192.168.1.1 ping 指定次數
ping -c 10 -i 0.5 192.168.1.1ping 指定次數和時間間隔
ping -b 192.168.1.1ping 網關
ping -i 3 -s1024 -t 255 192.168.120.206#-i 3? 發送周期為 3秒 -s 設置發送包的大小為1024 -t 設置TTL值為 255
?
5. netstat
功能:用于顯示與IP、TCP、UDP和ICMP協議相關的統計數據,一般用于檢驗本機各端口的網絡連接情況
格式:# netstat[參數]
參數:
-a 或–all 顯示所有連線中的Socket
-A< 網絡類型>或–<網絡類型> 列出該網絡類型連線中的相關地址
-c 或–continuous 持續列出網絡狀態
-C 或–cache 顯示路由器配置的快取信息
-e 或–extend 顯示網絡其他相關信息
-F 或–fib 顯示FIB
-g 或–groups 顯示多重廣播功能群組組員名單
-h 或–help 在線幫助
-i 或–interfaces 顯示網絡界面信息表單
-l 或–listening 顯示監控中的服務器的Socket
-M 或–masquerade 顯示偽裝的網絡連線
-n 或–numeric 直接使用IP地址,而不通過域名服務器
-N 或–netlink或–symbolic 顯示網絡硬件外圍設備的符號連接名稱
-o 或–timers 顯示計時器
-p 或–programs 顯示正在使用Socket的程序識別碼和程序名稱
-r 或–route 顯示Routing Table
-s 或–statistice 顯示網絡工作信息統計表
-t 或–tcp 顯示TCP傳輸協議的連線狀況
-u 或–udp 顯示UDP傳輸協議的連線狀況
-v 或–verbose 顯示指令執行過程
-V 或–version 顯示版本信息
-w 或–raw 顯示RAW傳輸協議的連線狀況
-x 或–unix 此參數的效果和指定”-A unix”參數相同
–ip或–inet 此參數的效果和指定”-A inet”參數相同
實例:
#netstat
# netstat ?- i # 顯示網卡列表
# netstat? - r # 顯示關于路由表的信息
# netstat? - s # 顯示網絡統計信息
#netstat -nt# 顯示當前 T DP 連接狀況
#netstat -ant# 顯示 T DP 端口號的使用情況
#netstat -nr
#netstat -lpe
#netstat - an
#netstat -ntlp
# netstat -nat | grep "192.168.120.20:16067" |awk '{print $5}'|awk -F: '{print $4}'|sort|uniq -c|sort -nr|head - 1 0 # 查看連接某服務端口最多的 前10個 IP 地址
# netstat -a| awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' # 統計機器中網絡連接各個狀態個數
狀態說明:
LISTEN :偵聽來自遠方的TCP端口的連接請求
SYN-SENT :再發送連接請求后等待匹配的連接請求(如果有大量這樣的狀態包,檢查是否中招了)
SYN-RECEIVED :再收到和發送一個連接請求后等待對方對連接請求的確認(如有大量此狀態,估計被flood攻擊了)
ESTABLISHED :代表一個打開的連接
FIN-WAIT-1 :等待遠程TCP連接中斷請求,或先前的連接中斷請求的確認
FIN-WAIT-2 :從遠程TCP等待連接中斷請求
CLOSE-WAIT :等待從本地用戶發來的連接中斷請求
CLOSING :等待遠程TCP對連接中斷的確認
LAST-ACK :等待原來的發向遠程TCP的連接中斷請求的確認(不是什么好東西,此項出現,檢查是否被攻擊)
TIME-WAIT :等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認
CLOSED :沒有任何連接狀態
?
6. traceroute
功能:跟蹤路由
實例:
# traceroute www.ahxh.cn
# traceroute -n? www.baidu.com # 顯示IP地址,不查主機名
?
7. hostname
功能:顯示主機名
實例:#hostname?
www.mysqlop.com
?
8. route
功能:
(1)? 顯示路由表-n以數字方式顯示各主機或端口等相關信息
(2)? 添加路由add
(3)? 刪除路由del
參數:
-c? 顯示更多信息
-n? 不解析名字
-v? 顯示詳細的處理信息
-F? 顯示發送信息
-C? 顯示路由緩存
-f? 清除所有網關入口的路由表。
-p? 與 add命令一起使用時使路由具有永久性
add: 添加一條新路由。
del: 刪除一條路由
-host:? 主機路由
-net : 網絡路由
實例:
(1)#route(顯示當前系統的路由表信息)
(2)#route add –net 192.168.0.0/24deveth0
(3)#route add –host192.168.3.2deveth1
(4)#route add –host192.168.1.3gw 192.168.1.1
(5)#route add –net192.168.3.0netmask 255.255.255.0gw 192.168.3.1
(6)#route adddefaultgw192.168.0.1
(7)#route del –host 192.168.3.2. dev eth1
(8)#route del –net192.168.0.0/24dev eth0
(9)#route del defaultgw 192.168.0.1
(10) #route add -net 224.0.0.0 netmask240.0.0.0 reject# 屏蔽一條路由
(11) #route del -net 224.0.0.0 netmask240.0.0.0 reject# 刪除路由記錄
?
PS :添加永久路由的方法
方法一:
vi /etc/sysconfig/network-scripts/route-eth0
加入如下內容:
172.16.1.0/24 via 192.168.1.1
就算重啟網絡服務和服務器重啟了也會生效!
方法二:
vi /etc/sysconfig/static-route
加入如下內容:
any net 172.16.1.0/24 gw 192.168.1.1
方法三:
vi /etc/rc.local
加入如下內容:
route add -net 172.16.1.0/24 gw 192.168.1.1
PS:? 方法一推薦生產環境使用
方法三重啟網絡后不會生效,但是重啟后會生效!
?
9. ip
功能:設置或查看網卡的各種屬性
link:? 網絡接口屬性
addr:? 協議地址
route:? 路由
add,change,show,flush,replace
實例:
link
ip -slink show
iplink set DEV {up|down}
addr
ipaddr add ADDRESS dev DEV
ipaddr del ADDRESS dev DEV
ipaddr show dev DEV to PREFIX
ipaddr flush dev DEV to PREFIX
ip addr add 192.168.100.1/24 dev eth1 labeleth1:0
ip route add to 10.0.1.0/24dev eth1 via 192.168.100.6
?
10. arp
功能:維護arp地址表
實例:
(1)#arp (顯示arp地址表)
(2)#arp –s192.168.3.100:60:08:27:ce:b2(向arp地址表中添加記錄)
(3)#arp –d192.168.3.1(刪除arp地址表的記錄)
(4)#arp-f (從/etc/ethers文件中讀取添加的記錄)
?
11. ss
功能: 用來獲取 socket 統計信息,它可以顯示和 netstat 類似的內容
命令參數:
-h, --help 幫助信息
-V, --version? 程序版本信息
-n, --numeric? 不解析服務名稱
-r, --resolve 解析主機名
-a, --all? 顯示所有套接字( sockets )
-l, --listening? 顯示監聽狀態的套接字( sockets )
-o, --options 顯示計時器信息
-e, --extended 顯示詳細的套接字( sockets )信息
-m, --memory 顯示套接字( socket )的內存使用情況
-p, --processes? 顯示使用套接字( socket )的進程
-i, --info? 顯示 ?TCP 內部信息
-s, --summary? 顯示套接字( socket )使用概況
-4, --ipv4 僅顯示 IPv4 的套接字( sockets )
-6, --ipv6 僅顯示 IPv6 的套接字( sockets )
-0, --packet 顯示 ?PACKET? 套接字( socket )
-t, --tcp? 僅顯示 ?TCP 套接字( sockets )
-u, --udp? 僅顯示 ?UCP 套接字( sockets )
-d, --dccp? 僅顯示 ?DCCP 套接字( sockets )
-w, --raw? 僅顯示 ?RAW 套接字( sockets )
-x, --unix? 僅顯示 ?Unix 套接字( sockets )
-f, --family=FAMILY 顯示 ?FAMILY 類型的套接字( sockets ), FAMILY 可選,支持 unix,inet, inet6, link, netlink
-A, --query=QUERY, --socket=QUERY
QUERY:= {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D, --diag=FILE 將原始 TCP 套接字( sockets )信息轉儲到文件
-F,--filter=FILE 從文件中都去過濾器信息
FILTER:= [ state TCP-STATE ] [ EXPRESSION ]
實例:
# ss -t? - a # 顯示TCP連接
# ss -lp | grep? 80# 找出打開套接字/端口應用程序
# ss -u -a # 顯示所有UDP Sockets
# ss -o stateestablished '( dport = : htt p or sport = : http ?)' # 顯示所有狀態為Established的HTTP連接
# ss -4 state STATUE# 用TCP 狀態過濾Sockets
STATUE 可以代表以下任何一個:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listen
closing
all :? 所有以上狀態
connected :? 除了listen and closed的所有狀態
synchronized : 所有已連接的狀態除了syn-sent
bucket :? 顯示狀態為maintained as minisockets,如:time-wait和syn-recv.
big :? 和bucket相反.
12.啟動和關閉防火墻
即時生效:
#service iptables start
#service iptables stop
重啟生效:
#service iptables on
#service iptables off
?
其它命令還有很多:如nslookup、dig、curl、wget、scp、nc、tcpdump等......
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
