一、網絡配置的常用工具
例如:
ifcfg:ifconfig、route、netstat
ip:object [link、addr、route]、ss、tc
system-config-network-tui(圖形界面)
centos 7:獨有的網絡配置工具
nmcli、nmtui、nm-connection-editor
下面來對上面所述的常見命令進行詳細講解:
ifconfig命令:
ifconfig interface [options]
功能:可用于修改IP地址、掩碼、mtu、廣播地址等信息,也可禁用或啟用網卡
常用組合:
ifconfig:僅顯示啟用的網卡
ifconfig -a:顯示所有網卡,包括不啟用的
ifconfig eth0 192.168.1.100:修改eth0的IP地址
注意:此處后面不加任何參數,則系統會依照IP所在的范圍自動計算出掩碼及廣播地址等IP參數
ifconfig eth0:0 192.168.1.200:在網卡上面再添加設備別名,多加一個IP地址
注意:ifconfig 添加IP地址只能使用別名,不能直接添加,但IP命令可以
必須使用靜態聯網,也可更改配置文件:
DEVICE=eth0:0
IPADDR=10.10.10.10
NETMASK=255.0.0.0
ONPARENT=yes 物理網卡啟動就啟動
ifconfig eth0 up:啟用網卡
ifconfig eth0 down:禁用網卡
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 mtu 1500
ifconfig eth0 192.168.1.100/24.0 mtu 1500
注意:上述命令執行完,立即生效,但不會永久有效,如果想永久有效可以配置etc/sysconfig/network-scripts/ifcfg-ethx文件,配置完重啟服務即可。
route命令:
功能:配置路由表,增加刪除路由路由表中的條目。
常用組合:
route -n:以數字格式顯示路由信息,不用反解
route add [-net|host] target [netmask 掩碼][gw 網關][dev 接口名]
route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1
添加一個路由條目到達10.0.0.0/8
route add -net default gw 192.168.1.1 dev eth1
route add -net 0.0.0.0/0.0.0.0 gw 192.168.1.1 dev eth1
添加默認網關
route del -net 10.0.0.0/8 :刪除網絡
route del -net default gw 192.168.1.1:刪除網關
route del defalut :刪除網關
root@cenots6.8 ~ # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.1.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth1 0.0.0.0 10.1.0.1 0.0.0.0 UG 0 0 0 eth1 目標網絡 網關 子網掩碼 U:已啟用 G:網關 經過的網卡
注意:如果gw處顯示是0.0.0.0表示該路由是直接本機傳送,也就是說通過局域網的mac直接發送,若果顯示ip的話,表示該路由需要經過路由器(網關)的幫忙發送出去
配置文件:/etc/sysconfig/network-scripts/route-IFACE
上述配置過程也是臨時生效,不會永久有效,可通過配置使其永久有效,路由配置文件默認是不存在的,需要手動創建,具體格式如下:
(1) TARGET via GW
10.0.0.0/8 via 172.16.0.1
(2) 每三行定義一條路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
ip命令:
ip object :{ link | addr | route | netns }
ip link set [dev] eth0
功能:顯示設備信息、啟用或禁用網卡和多播、更改網卡名稱等
ip link set [dev] eth1 down:禁用網卡
ip link set [dev] eth1 up:啟用網卡
ip link set eth1 name eno1234567:更改網卡名稱
ip link eth1 multicast on|off:啟用或禁用多播功能
ip link show [ethX]:顯示設備信息
ip addr {add|del|show|flush}
功能:添加、刪除、顯示IP地址
增:
ip addr add 192.168.1.102/24 dev eth1
ip addr list eth1可以看到是secondary eth1
ip addr add 10.0.10.100/8 dev eth1 在添加一個地址
ip addr list eth1 可以看到不是third 而是global eth1 (因為不在同一個網絡)
刪:
ip daddr del 192.168.1.102/24 dev eth1
ip addr flush dev ethXXX :清空IP地址
查:
ip addr show [ethXXX]
ip route {add|chage|replace}
功能:
增:
ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1
要想到達192,168.0.0這個網絡地址要經由10.0.0.1這個網關
ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100
ip route add default via 172.16.0.1 dev eth0 添加默認路由
刪:
ip route delete 192.168.1.0/24
ip route flush dev eth0
查:
ip route show|list
ip route show src 192.168.1.100
ip route get 192.168.1.0/24
nmcli命令:
NetworkManager是管理和監控網絡設置的守護進程
設備即網絡接口,連接是對網絡接口的配置,一個網絡接口可以有多個連接配置,但同時只有一個連接配置生效。
顯示所有包括不活動的連接:
nmcli con show
顯示所有活動連接
nmcli con show –active
顯示網絡連接配置
nmcli con show "System eth0"
顯示設備狀態
nmcli dev status
顯示網絡接口屬性
nmcli dev show eno16777736
創建新連接default,IP自動通過dhcp獲取
nmcli con add con-name default type Ethernet ifanme eth0
刪除連接
nmcli con del default
創建新的static,指定靜態IP,不自動連接
nmcli con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw
172.25.X.254
啟用static連接配置
nmcli con up static
啟用default連接配置
nmcli con up default
查看幫助
nmcli con add help
修改連接設置
nmcli con mod“static” connection.autoconnect no
nmcli con mod “static” ipv4.dns 172.25.X.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
nmcli與配置文件的對應關系
修改連接配置后,需要重新加載配置
nmcli con reload
nmcli con down "system eth0"可被自動激活
nmcli con up "system eth0"
nmcli dev dis eth0 禁止網卡,防止為自動激活
網絡組Network Teaming:
網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性
網絡組由內核驅動和teamd守護進程實現.
但實踐證明,沒有bonding穩定。
多種方式
runner
broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control Protocol)
注意:
啟動網絡組接口不會自動啟動網絡組中的port接口
啟動網絡組接口中的port接口不會自動啟動網絡組接口
禁用網絡組接口會自動禁用網絡組中的port接口
沒有port接口的網絡組接口可以啟動靜態IP連接
啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入
創建網絡組接口:
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 連接名, INAME 接口名,JSON
指定runner方式
格式: '{"runner": {"name": "METHOD"}}'
METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp
創建port接口:
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME 連接名
INAME 網絡接口名
TEAM 網絡組接口名
連接名若不指定,默認為team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
I NAME 設備名 CNAME 網絡組接口名或port接口
應用實例:
nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name"activebackup}}'
cd /etc/sysconfig/network/ 目錄下可以看到ifcfg-team0文件
nmcli connection modify team0 ipv4.addresses 10.1.252.213/16
nmcli connection modify team0 ipv4.method manual 指定BOOTPROTO=none
nmcli connection modify team0 ipv4.dns 8.8.8.8 ipv4.gateway 10.1.0.1
nmcli connection add con-name team0-eth0 type team-slave ifname eth0 master team0
nmcli connection add con-name team0-eth1 type team-slave ifname eth1 master team0
nmcli connection up team0-eth0
nmcli connection show
teamdctl team0 state
二、顯示網絡連接狀態
常用命令:netstat、ss
netstat:
顯示路由信息:netstat -rn = route -n
-r:顯示內核路由表
-n:數字格式
顯示網絡連接:
選項:
-t:查看tcp協議的連接
-u:顯示udp協議的連接
-l:顯示正在監聽的連接,不加l是顯示已建立的連接
-n:以數字的格式顯示
-a:顯示所有的
-w:裸套接字相關的連接
-e:擴展格式
-p:顯示PID
顯示接口信息:
netstat -i
netstat -I=ethXXX
ifconfig -s ethXXX
例如:watch -n1 'netstat -I=eth1' 一秒鐘刷新一次,網絡接收和發送數據包的狀態
可配合ping -f IPaddr 查看狀態(ping -a ipaddr 可以解析到主機名)
ss命令:
netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信息,因此ss性能要優netstat命令。
格式:ss [option]…[filter]
選項:
-t:tcp相關的連接
-u:udp相關的連接
-w:raw socket 相關的連接
-l:監聽狀態的連接
-a:所有狀態的連接
-p:先關的程序及其PID號
-e:擴展格式信息
-m:內存用量
-o:計時器信息
filter:[state TCP-state][expression]
listen
established
fin_wait_1
fin_wait_2
syn_sent
syn_recv
closed
表達式:
dprot =
sport =
例如:'( dport = :22 or sport = :22 )'
應用舉例:
ss -l 顯示本地打開的所有端口
ss -pl 顯示每個進程具體打開的socket
ss -t -a 顯示所有tcp socket
ss -u -a 顯示所有的UDP Socekt
ss -o state established '( dport = :ssh or sport = :ssh )' 顯示所有已建立的ssh連接
ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接
ss -s 列出當前socket詳細信
三、配置主機名
centos 6 :
顯示主機名:hostname
修改主機名:hostname Name 臨時生效
修改配置文件:/etc/sysconfig/network
centos 7 :
顯示主機名:hostname、hostnamectl、hostname status
修改主機名:hostname set-hostname Name 永久有效
修改配置文件:/etc/hostname
四、網卡名稱:
centos 6:
配置文件:/etc/udev/rules.d/70-persistent-net.rules
注意:這個文件中的網卡名要與網卡配置文件中保持一致,否則會報錯
centos 7:
可以將en######的命名方式還原為ethX,方法如下:
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、重啟系統
原創文章,作者:Naruto,如若轉載,請注明出處:http://www.www58058.com/44210
對網絡管理工具用法總結的很完善,建議多操作,熟練運用。