1.將linux主機接入到網絡,需要配置網絡相關設置
一般包括:
主機名
IP/NETMASK
路由:默認網關
DNS服務器
主DNS服務器
次DNS服務器
次次DNS服務器
2.靜態指定:
ifcfg:ifconfig,route,netstat
ip:object{link,addr,route},ss,tc
system-config-network-tui(setup)
配置文件
Centos 7:網絡配置工具
nmcli,nmtui,nm-connection-editor
動態分配:
DHCP:Dynamic Host Configuration Protocol
ifconfig:
ifconfig -a
ifconfig eth0 (up|down)
ifconfig eth0 IP/NETMASK [up|down]
#立即生效
route命令:
查看路由:route -n
添加路由:route add
route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If]
目標:10.1.249.112網關:10.1.0.1
[root@localhost ]# route add -host 10.1.249.112 gw 10.1.0.1 dev eth0
目標:10.1.249.0 網關:10.1.0.1
[root@localhost ]# route add -net 10.1.249.0 netmask 255.255.0.0 gw 10.1.0.1 dev eth0
[root@localhost ]# route add -net 10.1.249.0/16 gw 10.1.0.1 dev eth0
默認路由網關10.1.0.1
[root@localhost ]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.1.0.1
[root@localhost ]# route add default gw 10.1.0.1
刪除目標:10.1.249.112 網關:10.1.0.1
[root@localhost ]# route del host 10.1.249.112
刪除目標:10.1.249.0 網關:10.1.0.1
[root@localhost ]# route del -net 10.1.249.0 netmask 255.255.0.0
netstat命令:
netstat -print network connections,routing tables,interface statistics,masquerade connections,and multicast memberships
顯示網絡連接:
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n][--extend|-e] [--program|-p]
-t:tcp協議相關
-u:ucp協議相關
-w:raw socket相關
-l:處於監聽狀態
-a:所有狀態
-n:以數字顯示IP和端口
-e:擴展格式
-p:顯示相關進程及PID
netstat常用組和:
-tan tcp協議相關,所有狀態,以數字顯示IP和端口
-uan ucp協議相關,所有狀態,以數字顯示IP和端口
-tnl tcp協議相關,以數字顯示IP和端口,處於監聽狀態
-unl ucp協議相關,以數字顯示IP和端口,處於監聽狀態
顯示接口統計數據:
netstat -i 顯示全部接口數據
netstat -I=eth0 顯示eth0接口數據
ifconfig -s eth0 顯示eth0接口數據
設置IP命令:
ifup eth0 開啓eth0端口
ifdown eth0 關閉eth0端口
設置臨時IP:
ip addr add 10.1.249.111/16 dev eth0 label eth0:0
刪除臨時IP:
ip addr del 10.1.249.111/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
ss命令:
netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信息
選項:
-t tcp協議相關
-u udp協議相關
-w 裸套接字相關
-x unix sock相關
-l listen狀態的鏈接
-a 所有
-n 數字格式
-p 相關的程序及PID
-e 擴展的信息
-m 內存用量
-o 計時器信息
常用組合:
-tan tcp協議相關,所有,數字個格式
-tanl tcp協議相關,所有,數字個格式,listen狀態的鏈接
-tanlp tcp協議相關,所有,數字個格式,listen狀態的鏈接相關的程序及PID
-uan ucp協議相關,所有,數字個格式
常見用法:
ss -l 顯示本地打開的所有端口
ss -pl 顯示每個進程具體打開的socket
ss -t -a 顯示所有tcp socket
ss -u -a 顯示所有ucp socket
ss -s 列出當前socket詳細信息
ss -o state established '( dport = :ssh or sport = :ssh )' 顯示所有已建立的ssh鏈接
ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的http鏈接
TCP常見狀態:
tcp finite state machine:
LISTEN:監聽
ESTABLISHED :已建立的鏈接
FIN_WAIT_1 :等待遠程TCP鏈接中斷請求,或先前的鏈接中斷請求的確認
FIN_WAIT_2 :從遠程TCP等待鏈接中斷請求
CLOSE-WAIT :等待從本地用戶發來的鏈接中斷請求
CLOSING :等待遠程TCP對鏈接中斷的確認
LAST-ACK :等待原來的發向遠程TCP的鏈接中斷請求的確認
TIME-WAIT :等待足夠的時間以確保遠程TCP接收到的鏈接中斷請求的確認
SYN-SENT :客戶端SYN_SENT狀態
SYN-RECV :服務端被動打開後,接收到了客戶端的SYN並且發送了ACK時的狀態。
SYN-RECEIVED :服務器端狀態SYN_RCVD 如果發現有很多SYN_RCVD狀態,那你的機器有可能被SYN Flood的DoS(拒絕服務***)***了
CLOSEDss :沒有任何連接狀態
3.網絡配置文件
ONBOOT: 在系統引導時是否激活此設備
TYPE : 接口類型;常見有的Ethernet, Bridge
UUID : 設備的惟一標識
IPADDR: 指明IP地址
NETMASK:子網掩碼
GATEWAY: 默認網關
DNS1: 第一個DNS服務器指向
DNS2: 第二個DNS服務器指向
USERCTL:普通用戶是否可控制此設備
PEERDNS:如果BOOTPROTO的值爲“ dhcp”,是否允許
dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中
網卡配置文件/etc/sysconfig/network-scripts
解析器執行正向和逆向查詢:
/etc/hosts
本地主機名數據庫和IP地址的映像
對小型獨立網絡有用
通常,在使用DNS前檢查,getent hosts 查看/etc/hosts 內容
4.網卡相關命令:
網絡接口識別並命名相關的udev配置文件
/etc/udev/rules.d/70-persistent-net.rules
查看網卡:
dmesg |grep –i eth
ethtool -i eth0
卸載網卡驅動:
modprobe -r e1000
rmmod e1000
裝載網卡驅動:
modprobe e1000
5.使用傳統命名方式:
(1) 編輯/etc/default/grub配置文件GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"或:修改/boot/grub2/grub.cfg
(2) 爲grub2生成其配置文件grub2-mkconfig -o /etc/grub2.cfg
(3) 重啓系統