基本網絡配置:
一般包括如下內容:主機名、IP/netmask、路由(默認網關)、DNS服務器(主DNS服務器、次DNS服務器、第三DNS服務器)
Linux中主機名只具有本地意義;在Windows中計算機名具有網絡功能
Centos6網卡名稱:
網絡接口識別并命名相關的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
查看網卡:dmesg |grep ?–i? ?eth ?????或???????????? ethtool ?-i ?eth0
卸載網卡驅動:modprobe –r ?e1000??? 或??????????? ?rmmod ?e1000
裝載網卡驅動:?? modprobe? ?e1000
/etc/sysconfig/network???? //存放主機名或網關(添加網關重啟生效;若與網卡的配置文件發生沖突時,網卡配置文件優先生效)
service??? NetworkManager?? restart?? 重啟網絡管理服務
配置網絡接口:
ifconfig命令(默認顯示網卡活動的信息)
ifconfig ?[interface]
ifconfig ?-a ??//查看所有的網卡列表
ifconfig ?IFACE ?[up|down]?? //啟用或禁用網卡
ifdown?? eth1???? //禁用網卡(要求有配置文件)
ifup?? eth1???? //啟用網卡(要求有配置文件)
ip?? link?? //查看網卡的所有詳細信息
ifconfig interface [aftype] options | address …
ifconfig ?IFACE ?IP/netmask ??[up] ???//設置網卡地址并啟用網卡 (臨時有效)
ifconfig ?IFACE ?IP ?netmask NETMASK??? //設置網卡地址并啟用網卡
注意:立即生效 (臨時有效,禁用啟用后恢復原來)
啟用混雜模式:[-] promisc
ifconfig??? eth0:1?? 2.2.2.2/24??? //同一物理網卡綁定多個IP地址(臨時有效)
寫入配置文件,(注重起別名,手動寫入新的ip地址,再次停止service??? NetworkManager? stop ,最后重啟網絡服務)
tcpdump?? //字符界面的抓包工具
route命令:路由管理命令
查看:route -n
添加:route add
route ?add ?[-net|-host] ?target ?[netmask Nm] ?[gw Gw] ?[[dev] If]
目標:192.168.1.3 網關:172.16.0.1
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
目標:192.168.0.0 網關:172.16.0.1
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
默認路由,網關:172.16.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add default gw 172.16.0.1 ???//添加默認路由
刪除:route del
route ?del ?[-net|-host] ?target ?[gw Gw] ?[netmask Nm] ?[[dev] If]
目標:192.168.1.3 網關:172.16.0.1
route del -host 192.168.1.3
目標:192.168.0.0 網關:172.16.0.1
route del -net 192.168.0.0 netmask 255.255.255.0
tcpdump? -i?? eth1? icmp??? //實現抓包
實驗:
A—net1—1 R1 2—net2—3 R2 4—net3—5 R3 6—net4—B
R1:
route? add? -net?? net4/N4?? gw?? ip3
route? add? -net?? net3/N3?? gw?? ip3
或者: route? add?? default?? gw?? ip3
R2:
route? add? -net?? net1/N1?? gw?? ip2
route? add? -net?? net4/N4?? gw?? ip5
R3:
route? add? -net?? net1/N1?? gw?? ip4
route? add? -net?? net2/N2?? gw?? ip4
或者: route? add default?? gw? ip4
A訪問B的過程:解釋如下:
1. A判斷B和A是否在一個網段
2. A gateway:R1 IP1
ARP IP1 —> MAC1
APR cache : IP1–MAC1
frame:dest mac:mac1 src mac:macA
ip: dest ip:IPB src ip: IPA
tcp:dest port:80 src port:xxxxx,syn
3. R1 查路由表
net B 2 IP3
ARP IP3 —> mac3
frame:dest mac:mac3 src mac:mac2
ip: dest ip:IPB src ip: IPA
tcp:dest port:80 src port:xxxxx,syn
4. R2 查路由表
net B 4? IP5
ARP IP5 —> mac5
frame:dest mac:mac5 src mac:mac4
ip: dest ip:IPB src ip: IPA
tcp:dest port:80 src port:xxxxx,syn
5. R3 查路由表
net B 6
ARP IPB —> macB
frame:dest mac:macB src mac:mac6
ip: dest ip:IPB src ip: IPA
tcp:dest port:80 src port:xxxxx,syn
配置動態路由:
通過守護進程獲取動態路由
- 安裝quagga包
- 支持多種路由協議:RIP、OSPF和BGP
- 命令vtysh配置
RIP協議:根據路由跳數選擇最佳路由
OSPF協議:考慮因素更全面(帶寬)
netstat命令:
顯示網絡連接: netstat [–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [– numeric|-n] [–extend|-e[–extend|-e]] [–program|-p]
-t: tcp協議相關
-u: udp協議相關
-w: raw socket相關
-l: 處于監聽狀態
-a: 所有狀態
-n: 以數字顯示IP和端口;
-e:擴展格式
-p: 顯示相關進程及PID
顯示路由表: netstat {–route|-r} [–numeric|-n]
-r: 顯示內核路由表
-n: 數字格式
顯示接口統計數據:
netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]
netstat -i ??//查看所有網絡連接信息
netstat –I=IFACE(-Iens2)???? //只查看某一接口的網絡的連接信息
ifconfig -s eth0?????? //只查看某一接口的網絡的連接信息
ss命令:
netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信 息。
格式:ss [OPTION]… [FILTER]
選項: -t: tcp協議相關
-u: udp協議相關
-w: 裸套接字相關
-x:unix sock相關
-l: listen狀態的連接
-a: 所有
-n: 數字格式
-p: 相關的程序及PID
-e: 擴展的信息
-m:內存用量
-o:計時器信息
FILTER : [ state TCP-STATE ] [ EXPRESSION ]
TCP的常見狀態:
tcp finite state machine: LISTEN: 監聽
ESTABLISHED:已建立的連接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION: dport =
sport = 表達式
示例:’?? ( dport = :ssh or sport = :ssh )’
常用組合: -tan, -tanl, -tanlp, -uan
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詳細信息
ip命令:
yum? install bash-completion //安裝該軟件包支持tab鍵補全(在centos6)[epel原]
網卡的配置文件既可以靜態也可以動態獲取,但是網卡別名的配置文件中只能寫靜態
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }
ip link – network device configuration ????//關注的數據鏈路層
set ?dev IFACE
可設置屬性:
up and down:激活或禁用指定接口
例:ip? link? set??? ens37?? down??? ?禁用ens37接口
ifup/ifdown
show [dev IFACE]:指定接口
[up]:僅顯示處于激活狀態的接口
ip addr { add | del } IFADDR dev STRING
[label LABEL]:添加地址時指明網卡別名
[scope {global|link|host}]:指明作用域
global: 全局可用
link: 僅鏈接可用
host: 本機可用
[broadcast ADDRESS]:指明廣播地址
ip address show???? //查看接口ip地址
[dev DEVICE]??????? 接口
[label PATTERN]??? 添加別名
[primary and secondary]
ip address flush ??//刪除,用法同show
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0?? //只刪除一個地址
ip addr flush dev eth0 label eth0:0??? //清空所有地址
添加路由:ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET: 主機路由:IP?????? ?網絡路由:NETWORK/MASK
ip route add 192.168.0.0/24 via 172.16.0.1
ip route add 192.168.1.13 via 172.16.0.1
添加網關:ip route add default via GW dev IFACE
ip route add default via 172.16.0.1
刪除路由:ip route delete
ip route del TARGET
顯示路由:ip route
清空路由表:ip ?route ?flush ??[dev IFACE]??? ?[via PREFIX]
ip route flush dev eth0
網卡別名:
對虛擬主機有用
將多個IP地址綁定到一個NIC上 eth0:1 、eth0:2、eth0:3
ifconfig命令: ifconfig eth0:0 192.168.1.100/24 up
ifconfig eth0:0 down ???刪除單個一條別名
ip命令: ip addr add 172.16.1.2/16 dev eth0
ip addr add 172.16.1.1/16 dev eth0 label eth0:0
ip addr del 172.16.1.1/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
設備別名:
為每個設備別名生成獨立的接口配置文件
- 關閉NetworkManager服務
- ifcfg-ethX:xxx //新建或復制網絡配置文件
- 必須使用靜態聯網 DEVICE=eth0:0
IPADDR=10.10.10.10
NETMASK=255.0.0.0
ONPARENT=yes
注意:service network restart 生效
參考/usr/share/doc/initscripts-*/sysconfig.txt
實驗:單臂路由:
在路由器上:
修改配置文件并復制:cp?? ifcfg-eth0???? ifcfg-eth0:1
DEVICE=eth0:1
IPADDR=2.2.2.254
NETMASK=255.255.255.0 ?或? PREFIX=24
ONPARENT=yes
MACADDR:用來修改Mac地址
echo?? 1 > /proc/sys/net/ipv4/ip_forward?????? //啟用路由功能(0代表未啟動)
traceroot???? ip地址??? //跟蹤路由
mtr????? ip地址??????? //動態跟蹤路由
tracepath??? ip地址???? //跟蹤路由
網絡配置文件:
IP、MASK、GW、DNS相關配置文件:/etc/sysconfig/networkscripts/ifcfg-IFACE
路由相關的配置文件: /etc/sysconfig/network-scripts/route-IFACE
/etc/sysconfig/network-scripts/ifcfg-IFACE:
說明參考/usr/share/doc/initscripts-9.49.30/sysconfig.txt
DEVICE:此配置文件應用到的設備
HWADDR:對應的設備的MAC地址(可以不寫)
BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp ?NM_CONTROLLED:NM是NetworkManager的簡寫,此網卡是否接受 NM控制;建議CentOS6為“no”
ONBOOT:在系統引導時是否激活此設備
TYPE:接口類型;常見有的Ethernet, Bridge
UUID:設備的惟一標識
IPADDR:指明IP地址
NETMASK:子網掩碼 ??或(PREFIX=16)
GATEWAY: 默認網關
DNS1:第一個DNS服務器指向
DNS2:第二個DNS服務器指向
USERCTL:普通用戶是否可控制此設備
PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的 dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中
網絡配置文件:
/etc/sysconfig/network-scripts/route-IFACE
- 注意:需service network restart生效
- 兩種風格: (1) TARGET via GW 如:10.0.0.0/8 via 172.16.0.1
(2) 每三行定義一條路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
主機名和本地解析器:
配置當前主機的主機名: hostname [HOSTNAME]
/etc/sysconfig/network????? ?HOSTNAME=
解析器執行正向和逆向查詢
/etc/hosts ???//將域名和ip地址的映射寫入文件
- 本地主機名數據庫和IP地址的映像
- 對小型獨立網絡有用
- 通常,在使用DNS前檢查
- getent hosts 查看/etc/hosts 內容
dns 名字解析:
/etc/resolv.conf?? 配置文件?? //查看DNS是否生效
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
search magedu.com
/etc/nsswitch.conf //查看文件優先級 (默認/etc/hosts相比優先于DNS )
正向解析:FQDN–>IP
dig -t A FQDN
host -t A FQDN
反向解析:IP–>FQDN
dig -x IP
host -t PTR IP
網絡接口配置 –bonding
Bonding: 將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。直接給 兩塊網卡設置同一IP地址是不可以的。通過bonding,虛擬一塊網卡對外提供連接, 物理網卡的被修改為相同的MAC地址
Bonding工作模式:
Mode 0 (balance-rr) :輪轉(Round-robin)策略:從頭到尾順序的在每一個slave 接口上面發送數據包。本模式提供負載均衡和容錯的能力
Mode 1 (active-backup): 活動-備份(主備)策略:只有一個slave被激活,當且僅當活動的slave接口失 敗時才會激活其他slave。為了避免交換機發生混亂此時綁定的MAC地址只有 一個外部端口上可見 (不需要配)
Mode 3 (broadcast) 廣播策略:在所有的slave接口上傳送所有的報文,提供容錯能力
active-backup、balance-tlb 和 balance-alb 模式不需要交換機的任何特 殊配置。其他綁定模式需要配置交換機以便整合鏈接。如:Cisco 交換機需 要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel
Bonding配置:
- 創建bonding設備的配置文件
- /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0” ??//定義了監控間隔和模式
3./etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0 ???//關鍵內容
SLAVE=yes?????????? //關鍵內容(兩行)
USERCTL=no
4.查看bond0狀態:/proc/net/bonding/bond0
miimon 是用來進行鏈路監測的。如果miimon=100,那么系統每 100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路
5.刪除bond0 ifconfig bond0 down ?//禁用 ????????rmmod bonding //刪除
lsmod????? //查看所有的模塊
實驗:實現多網卡綁定
- 僅主機模式,刪除所有的網卡配置
- cat >? ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.30.6
PREFIX=24
BONDING_OPTS= “miimon=100 mode=1”
- cat > ifcfg-eth0
MASTER=bond0
SLAVE=yes
Centos 7 網絡屬性配置
CentOS 6之前,網絡接口使用連續號碼命名:eth0、eth1等,當增加或刪除網卡時,名 稱可能會發生變化
CentOS 7使用基于硬件,設備拓撲和設置類型命名:
(1) 網卡命名機制 systemd對網絡設備的命名方式
(a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則 根據此索引進行命名,例如eno1
(b) 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根 據此索引進行命名,例如ens1
(c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0
(d) 如果用戶顯式啟動,也可根據MAC地址進行命名,enx2387a1dc56
(e) 上述均不可用時,則使用傳統命名機制
網卡名稱:
基于BIOS支持啟用biosdevname軟件
內置網卡:em1,em2
pci卡:pYpX ????Y()數字:slot(第幾個插槽) ,X:port (第幾個接口)
(2) 名稱組成格式
en: Ethernet 有線局域網
wl: wlan 無線局域網
ww: wwan無線廣域網
名稱類型:
O<index>: 集成設備的設備索引號
S<slot>: 擴展槽的索引號
X<MAC>: 基于MAC地址的命名
傳統命名方式:
- 編輯/etc/default/grub配置文件
GRUB_CMDLINE_LINUX=”rhgb quiet net.ifnames=0″
或:修改/boot/grub2/grub.cfg
(2) 為grub2生成其配置文件 grub2-mkconfig -o /etc/grub2.cfg
(3) 重啟系統
CentOS7主機名
配置文件:/etc/hostname ,默認沒有此文件,通過DNS反向解析獲取主機名,主機名 默認為:localhost.localdomain
顯示主機名信息 hostname hostnamectl status
設置主機名 hostnamectl set-hostname centos7.magedu.com ??改名字后順帶改/etc/hosts配置文件
刪除文件/etc/hostname,恢復主機名localhost.localdomain
CentOS 7網絡配置工具
圖形工具:nm-connection-editor
字符配置tui工具:nmtui
命令行工具:nmcli
地址配置工具:nmcli
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device?? ?– show and manage network interfaces(查看和管理網絡接口)
nmcli device help
connection – start, stop, and manage network connections(開啟,結束和管理網絡連接)
nmcli connection help
修改IP地址等屬性:
nmcli connection modify IFACE [+|-]setting.property value
setting.property:
ipv4.addresses???? ?ipv4.gateway
ipv4.dns1 ?????????????ipv4.method manual | auto
修改配置文件執行生效:systemctl ?restart ?network
nmcli ?con ?reload
nmcli命令生效: nmcli con down eth0 ;??? nmcli con up eth0
使用nmcli配置網絡:
NeworkManager是管理和監控網絡設置的守護進程
設備即網絡接口,連接是對網絡接口的配置。一個網絡接口可有多個連接配置, 但同時只有一個連接配置生效
顯示所有包括不活動連接 ??nmcli con show
顯示所有活動連接??? ?nmcli con show –active
顯示網絡連接配置 ????nmcli con show “System eth0“
顯示設備狀態 ?????nmcli dev status
顯示網絡接口屬性 nmcli dev show eth0
創建新連接default,IP自動通過dhcp獲取
nmcli con add con-name default type Ethernet ifname eth0
刪除連接 nmcli con del default
創建新連接static ,指定靜態IP,不自動連接
nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 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 ???刪除一個dns
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 ?新加一個ip
DNS設置,存放在/etc/resolv.conf文件中
PEERDNS=no 表示當IP通過dhcp自動獲取時,dns仍是手動設置,不自動獲取。等價于下 面命令: nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
練習:
nmcli connection add con-name office-eth1 ifname eth1 type ethernet ipv4.method auto connection.autoconnect yes??? 創建一個自動連接且自動分配ip的新連接
nmcli connection? modify office-eth1 ipv4.address? 172.10.0.7/16? ipv4.gateway
172.20.0.1 ipv4.dns? 8.8.8.8 ?ipv4.method? manual? (默認動態不改不生效)
注意:若設靜態ip地址,IPV4.method必須設為manual,否則無效
nmcli實現bonding
添加bonding接口
nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup 添加從屬接口
nmcli con add type bond-slave ifname ens7 master mybond0
nmcli con add type bond-slave ifname ens3 master mybond0
注:如無為從屬接口提供連接名,則該名稱是接口名稱加類型構成
要啟動綁定,則必須首先啟動從屬接口 nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
啟動綁定 nmcli con up mybond0
網絡組Network?? Teaming
???????? 網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性
網絡組由內核驅動和teamd守護進程實現.
多種方式runner
broadcast ????廣播
roundrobin ???輪轉
activebackup ??主備
loadbalance ????負載均衡
lacp (implements the 802.3ad Link Aggregation Control Protocol) (實現802.3ad鏈路聚合控制協議)
網絡組:
????? 啟動網絡組接口不會自動啟動網絡組中的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 ????????INAME 設備名
nmcli con up CNAME ??????CNAME 網絡組接口名或port接口
管理網絡組配置文件
???? /etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG=”{\”runner\”: {\”name\”: \”broadcast\”}}”
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-team1
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
刪除網絡組:
nmcli connection down team0
teamdctl team0 state
nmcli connection show
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1
nmcli connection show
網橋:
橋接:把一臺機器上的若干個網絡接口“連接”起來。其結果是,其中一個網 口收到的報文會被復制給其他網口并發送出去。以使得網口之間的報文能夠互 相轉發。網橋就是這樣一個設備,它有若干個網口,并且這些網口是橋接起來 的。與網橋相連的主機就能通過交換機的報文轉發而互相通信。
主機A發送的報文被送到交換機S1的eth0口,由于eth0與eth1、eth2橋接在一 起,故而報文被復制到eth1和eth2,并且發送出去,然后被主機B和交換機S2 接收到。而S2又會將報文轉發給主機C、D
配置實現網橋:
測試網絡工具:
在命令行下測試網絡的連通性:
顯示主機名:hostname
測試網絡連通性: ping???????? mtr
顯示正確的路由表:ip??? route
確定名稱服務器使用: nslookup?????????? host?????? ?????dig
跟蹤路由:traceroute????????????????? tracepath
網絡客戶端工具:
ftp,lftp:子命令:get、mget、ls、help
lftp [-p port] [-u user[,password]] SERVER
lftpget URL
wget [option]… [URL]…
-q: 靜默模式
-c: 斷點續傳
-P:保存在指定目錄
-O: 保存為指定的文件名
–limit-rate=: 指定傳輸速率,單位K,M等
links URL
–dump????? //只顯示文字
–source??? //查看源碼
lftpget??? ftp://172.20.0.1/pub/Tools/picpick_inst.exe??? //下載文件
wget???? //可用來下載HTTP等網站的文件也可下載ftp文件資源
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97425