首先要了解linux中各個配置文件的路徑
linux
網卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
服務器
主機名配置文件:/etc/sysconfig/network
網絡
靜態主機配置文件:/etc/hosts
socket
接下來是文件中的內容首先 若是在局域網中有可自動分配IP的服務器,則可設置自動獲取IP,若是沒有DHCP服務器須要手動配置IP,即在網卡的配置文件中修改:tcp
/etc/sysconfig/network-scripts/ifcfg-eth0 內容以下ide
DEVICE=eth0 網卡設備名工具
BOOTPROTO=none 是否自動獲取IP(none、static、dhcp)spa
HWADDR=00:0c:29:17:c4:09 MAC地址3d
NM_CONTROLLED=yes 是否能夠由Network Manager圖形管理工具託管接口
ONBOOT=yes 是否隨網絡服務啓動,eth0生效
TYPE=Ethernet 類型爲以太網
UUID= "44b76c8a-b59f-44d5-83fa-7f98fda86b3d" 惟一識別碼
IPADDR=192.168.0.252 IP地址
NETMASK=255.255.255.0 子網掩碼
GATEWAY=192.168.0.1 網關
DNS1=202.106.0.20 DNS
IPV6INIT=no IPv6沒有啓用
USERCTL=no 不容許非root用戶控制此網卡
再有就是用命令查看和更改網絡配置
ifconfig命令
這個命令是用來查看網絡接口的配置信息,也能夠用來配置網絡接口的IP地址信息等
好比
# ifconfig eth1 172.16.100.105 netmask 255.255.255.192
爲eth1網絡端口配置IP地址爲172.16.100.105 子網掩碼爲255.255.255.192
若是ifconfig後面有特定接口名稱做爲參數,則不管接口是否處於激活狀態,都顯示該網絡接口的信息;若是沒有的話就顯示全部處於激活狀態的網絡接口信息;
有個經常使用選項
-a :顯示全部網絡接口,不管其是否處於激活狀態
route命令
經常使用選項;
-n:以數字化顯示主機名(IP地址)和端口
設置路由信息:
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
設置默認網關的方法:default == -net 0.0.0.0/0
route add default gw 192.168.100.1
刪除默認網關的方法
routedel default
routedel default gw 172.16.0.1
添加靜態路由的方法:
route add -net 10.0.0.0/8 gw 192.168.220.100 [dev eth2]
刪除靜態路由的方法
route del -net問問10.0.0.0/8
route del -net 10.0.0.0/8 gw 192.168.220.100
netstat命令
用於顯示各類網絡相關信息,如網絡鏈接,路由表,接口狀態 (Interface Statistics),masquerade 鏈接等等。
經常使用選項
顯示網絡接口的有:
[--tcp|-t]:只顯示與TCP協議相關的網絡鏈接
[--udp|-u] :只顯示與UDP協議相關的網絡鏈接
[--udplite|-U]:只顯示udplite協議相關的網絡鏈接
[--raw|-w] :顯示與裸套接字相關的網絡鏈接
[--listen-ing|-l]:顯示處於監聽狀態的TCP鏈接
[--all|-a]:查看全部狀態的任意鏈接
[--numeric|-n]:數字化顯示結果中的主機名、端口號、用戶ID等信息;
[--extend|-e[--extend|-e]]:以擴展格式顯示結果
[--program|-p]:顯示與該網絡鏈接相關的應用程序及進程ID
經常使用的選項組合:
-tan,-uan,-tnl,-unl,-ntlp,-unlp,-tunlp
之中顯示路由表的有:
{--route|-r}: 顯示路由表信息
[--extend|-e]:顯示擴展信息
[--numeric|-n]:數字化信息
之中顯示接口狀態的有:
netstat {--interfaces|-I|-i}
[--all|-a]
[--extend|-e]
[--verbose|-v]
[--program|-p]
[--numeric|-n]
iproute家族
ip命令
ip是iproute2軟件包裏面的一個強大的網絡配置工具,它可以替代一些傳統的網絡管理工具,例如ifconfig、route等,使用權限爲超級用戶。幾乎全部的Linux發行版本都支持該命令。
使用方法:ip [ OPTIONS ] OBJECT { COMMAND | help }
其中OBJECT可有 { link | addr| route | netns} 之中的一個
當OBJECT爲link時有:
ip link set [dev] IFACE_NAME {up|down} :激活或禁用網絡接口
ip link set [dev] IFACE_NAME [arp { on | off }]:是否容許此網絡接口使用ARP協議;
ip link set [dev] IFACE_NAME 改網絡接口名稱,須要將設備先down掉
ip link set [dev] IFACE_NAME [mtu MTU]:修改網絡接口的MTU數值
ip link set [dev] IFACE_NAME [ netns PID]:
ip link set [dev] IFACE_NAME [netns NAME]:將指定的網絡接口加入到指定的網絡名稱空間中;
ip link {show|list}:列表顯示全部的鏈路接口;只顯示鏈路層信息;
ip link help:得到簡短的幫助信息
當OBJECT爲addr時 即 爲網絡設備添加或刪除地址 或查看
ip addr add IFADDR dev IFACE_NAME:爲指定的網絡接口添加IP地址
ip addr del IFADDR dev IFACE_NAME:將IP地址從指定的網絡接口上刪除
ip addr flush dev IFACE_NAME:將指定接口上配置的全部IP地址所有清除
ip addr { show|list} [dev IFACE_NAME]:顯示網絡接口上配置的IP地址;
爲網絡接口增長多個IP地址,並可以使用ifconfig查看;
ip addr add IFADDR dev IFACE_NAME label IFACE_NAME_LABEL
↓
此IFACE_NAME_LABEL 爲 IFACE_NAME:# (#表明任意整數)
~]# ip address add 192.168.19.130/24 brd + label ens33:1 dev ens33 # 至關於ifconfig ens33:1 192.168.19.130/24 ~]# ip addr add 192.168.19.130/24 dev ens33 # 「簡化版」
~]# ip addr delete 192.168.19.130/24 dev ens33 #刪除網絡設備的一個地址
當OBJECT爲route時 - 查看和設置路由表信息
ip route { add | del } TARGET/PREFIX vai NEXT_HOP [dev IFACE_NAME]
ip route list
當OBJECT爲netns時
ip netns list:列表顯示全部的自定義的名稱空間;
ip netns add NS_NAME:建立名稱空間;
ip netns exec NS_NAME cmd:在指定的名稱空間中使用命令;
ip netns delete NS_NAME:刪除指定的名稱空間;
ss命令
ss 是 socket statistics 的縮寫。顧名思義,ss 命令能夠用來獲取socket 統計信息,它能夠顯示和netstat 相似的內容。但 ss 的優點在於它可以顯示更多更詳細的有關TCP和鏈接狀態的信息,並且比netstat更快速更高效。
ss的用法 ss [options] [ FILTER ]
options經常使用選項:
-t:TCP協議相關的鏈接狀態
-u:UDP協議相關的鏈接
-w:raw socket相關的鏈接
-l:處於監聽狀態的鏈接
-a:全部的狀態的套接字鏈接
-n:數字化顯示結果
-p:顯示相關應用程序及PID
-e:顯示詳細的擴展信息
-m:顯示內存使用量
-o:計時器信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
TCP-STATE:TCP協議有限狀態機中的全部可用狀態;
EXPRESSION:
dport= :port
sport= :port
EXPRESSION示例:
'( dport = :22 or sport = :22 )'