##ifcfg:ifconfig,route,netstat
##iprout:ip,ss,nmcli
1)#ifconfig 常用顯示或更改網絡配置
-a 顯示所有接口信息,包括未激活接口
#ifconfig IFACE IP/MASK [up] 立即生效
#ifconfig add addr/prefixlen 添加IPv6地址
更改IP地址:
]# ifconfig eth0 202.204.235.1/24
查看指定網卡信息
]# ifconfig eth0
2)#route 路由查看及管理
-n 不解析主機名,以數字格式顯示
-----------------------------------------------------------------------
Destination Gateway Genmask Flags Metric Ref Use Iface
10.1.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
-----------------------------------------------------------------------
/Destination 目標 The destination network or destination host.
目標網絡或目標主機。 0.0.0.0表示默認網關
/Gateway 網關 The gateway address or '*' if none set.
網關地址,如果沒有就顯示星號。
/Genmask 網絡掩碼
若爲0.0.0.0表示該主機在本地網絡內 直連路由
/Flags:標誌,代表的意義如下:
o U 該路由已啓動;
o H 目標是一部主機 (IP) 而非網域;
o G 需要透過外部的主機 (gateway) 來轉遞封包;
o R 使用動態路由時,恢復路由資訊的旗標;
o D 已經由服務或轉 port 功能設定爲動態路由
o M 路由已經被修改了;
o ! 這個路由將不會被接受(用來抵擋不安全的網域!)
o A (installed by addrconf)
o C (cache entry)
/Metric 距離、跳數。暫無用。
/Ref 不用管,恆爲0。
Number of references to this route. (Not used in the Linux kernel.)
/Use 該路由被使用的次數,可以粗略估計通向指定網絡地址的網絡流量。
/Iface 接口,即eth0,對應本機的接口
route add [-net|-host] target [netmask NM] [[dev]if] 添加/刪除路由條目
可手動添加也可安裝quagga包藉助於RIP、OSPF、BGP等協議自動生成 使用vtysh配置
]#route add -net 10.0.0.0/8 gw 192.168.10.1添加路由條目 網絡 ]#route add default gw 192.168.0.1更改默認網關 刪除: ]#route del -host 10.1.252.54
3)netstat 命令用於顯示各種網絡相關信息,網絡連接,路由表,接口狀態,連接等。
-r 顯示路由信息,路由表
-n 不解析主機名,能顯示數字的全部轉化成數字
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-l 僅列出有在 Listen (監聽) 的服務狀態
-s 按各個協議進行統計
-p 顯示建立相關鏈接的程序名
-e 顯示擴展信息,例如uid等
-c 每隔一個固定時間,執行該netstat命令。
-i 所有接口信息
-I 指定接口 -Ieth0 或 -I=eth0
常用組合:-tan, -uan, -tnl, -unl
netstat -rn 類似 route -n
4)ifup/ifdown DEVICE 啓動或禁用網卡
#hostname [HOSTNAME] 查看或修改主機名 立即生效,但重啓不保留
#hostnamectl 顯示主機名等信息 內核、架構、底層等
set-hostname 設置主機名,不會立即生效,重啓永久有效
Cent OS 7 一般使用hostnamectl 修改主機名
配置文件/etc/hostname 默認沒有
=====
##iprout家族: 版本與內核相同
1)ip show / manipulate routing, devices, policy routing and tunnels
OBJECT [ link | addr | route ]
#ip link set|show DEV 修改設備屬性
up/down
multicast on /multicast off:啓用或禁用多播功能
name NAME:重命名接口 需先停用接口
mtu NUM:設置MTU大小 默認1500
#ip netns PID:ns表namespace,用於將接口移動到指定的網絡名稱空間,構建虛擬網絡
list:列出所有的netns
add NAME:創建指定netns
del NAME:刪除指定netns
exec NAME COMMAND:在指定netns中運行命令
]#ip netns add mynet ]#ip link set eth1 netns mynet ]#ip link exec mynet ip link show
#ip address [OPTION] dev IFACE :地址管理
add IFADDR dev IFACE label LABEL:添加地址 ifconfig只顯示一個主地址
]#ip addr add 202.204.235.5 dev eth1 ]#ip addr show
[label NAME] 添加別名 ifconfig可顯示
]#ip addr add 10.1.54.23 dev eth1 label eth1:0
[broadcast ADDRESS]:廣播地址 會自動計算得到 省略
[scope SCOPE_VALUE]:設備的作用域
global 全局可用網卡地址在內核中,可連接eth0訪問eth1的地址
link 接口可用 與網卡綁定
host 主機可用
del IFADDR dev IFACE:刪除地址
show/list:查看地址
flush:清空接口所有地址
#ip route :routing table management 路由表管理
add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]添加新路由
]#ip route add 172.18.20.0/16 via 202.204.235.1 dev eth1 src 10.1.54.23 ]#ip route sdd default via 10.1.0.1
change
replace
delete 刪除路由條目
]#ip route delet 172.18.20.0/16
show 顯示路由信息
flush ARG 清空路由表
get 顯示某個單條路由信息
2)ss [options] [FILTER] 類似netstat 用於取代netstat 性能更優
[option]:
-t TCP相關連接
-u UDP相關連接
-w 裸套接字相關連接
-l 監聽狀態連接
-a 所有狀態
-n 數字格式
-p 相關程序及PID
-e 擴展格式信息
-m 內存用量
-o 計時器信息
[FILTER]:=[ stat TCP-STATE ] [ EXPRESSION ]
[ TCP-STATE ] TCP FSM
LISTEN:監聽狀態
ESTABLISHET:已建立的連接
FIN_WAIT_1:
FIN_WAIT_2:
SYN_SENT:
SYN_RECV:
CLOSED:
[ EXPRESSION ]:
dport = :22
sport =
]#ss -tan '( sport = :22 or dport = :22 )' ]#ss -tan state ESTABLISHED
======配置文件:
IP/NETMASK/GW/DNS等屬性配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFACE
路由的相關配置文件:
/etc/sysconfig/network-scripts/route-IFACE
兩種配置方式:不可混用
1.每行一個路由條目
TARGET via GW
10.0.0.0/8 via 202.204.235.1
2.每3行一個路由條目
ADDRESS#=TARGET
NETMASK#=MASK
GATEWAY#=GW
可用 vim 或專用命令修改:
CentOS 6 setup(system-config-network)
CentOS 7 nmtui
ifcfg-IFACE
NAME: 名稱
* - DEVICE:對應設備
ONBOOT:是否開機啓動
UUID: 此設備唯一標識
IPV6INIT: 是否啓用IPv6
- BOOTPROTO:
激活次接口時使用哪種協議,重用 hdcp、bootp、static、none
TYPE: 接口類型,常見 Ethernet、Bridge
* DNS: 第一DNS服務器指向
DNS2: 備用
DOMAIN:當前主機所在域 DNS搜索域 ping www 自動補全的域名
DEFROUTE: 是否爲默認路由所使用的接口
* GATEWAY: 默認網關
* IPADDR: IP地址
* PREFIX: 網絡位長度
* NETMASK: 子網掩碼 CentOS 7支持PREFIX=# 以長度指明子網掩碼
USERCTl: 是否允許普通用戶控制此設備
PEERDNS: 如果BOOTPROTO爲dhcp,是否允許dhcp server分配的dns覆蓋本地設置
NM_CONTROLLED: 是否使用NetworkManager服務控制接口
最簡配置 靜態 * 動態 -
]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=97ce546f-f7e3-4115-af8d-a215ab8aa7e0
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=10.1.252.33
NETMASK=255.255.0.0
GATEWAY=10.1.0.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:F2:0D:9A
PEERDNS=yes
PEERROUTES=yes