Linux網絡基礎配置
將Linux主機接入到網絡,需要配置網絡相關設置。 一般包括如下內容: 主機名 IP/netmask 路由:默認網關 DNS服務器 主DNS服務器 次DNS服務器 第三DNS服務器
網絡配置方式
靜態指定: 命令: ifcfg家族: ifconfig:配置IP,NETMASK route:路由 netstat:狀態及統計數據查看 iproute2家族: ip OBJECT: addr:地址和掩碼 link:接口 route:路由 ss:狀態及統計數據查看 CentOS 7:nm家族 nmcli:命令行工具 nmtui:test window工具 注意: (1)DNS服務器指定 配置文件:/etc/resolv.conf (2)本地主機名配置 hostname命令:臨時生效 配置文件:/etc/sysconfig/network CentOS 7:hostnamectl 配置文件: /etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME 動態配置:依賴于網絡當中的DHCP服務器 DHCP:Dynamic Host Configuration Protocal
Linux網絡屬性配置
ifcfg命令家族:ifconfig,route,netstat ifconfig命令:接口及地址查看和管理 ifconfig [INTERFACE] # ifconfig -a:顯示所有接口,包括未激活的接口 ifconfig interface [aftype] options | address ... # ifconfig IFACE IP/MASK [up] # ifconfig IFACE IP netmask NETMASK options: [-]promisc:混雜模式 注意:立即送往內核中的TCP/IP協議棧,并生效 route命令:路由查看及管理 路由條目類型: 主機路由:目標地址為單個IP 網絡路由:目標地址為IP網絡 默認路由:目標為任意主機,0.0.0.0/0.0.0.0 查看: # route -n:以數字格式顯示路由條目 添加: route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] IF] 示例:route add -net 10.0.0.0/8 gw 192.168.0.1 dev eth1 route add -net 0.0.0.0/0.0.0.0 gw 192.168.10.1 route add default gw 192.168.10.1 刪除: route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] IF] 示例:route del -net 10.0.0.0/8 gw 192.168.0.1 route del default netstat:狀態及統計數據查看 netstat - Print network connections, routing tables, interface statistics, masquerade connections, multicast memberships 顯示路由表:netstat -rn -r:顯示內核路由表 -n:以數字格式顯示 顯示網絡連接: netstat [--tcp|-t] [--udp|u] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p] -t:TCP協議的相關連接,連接均有其狀態 -u:UDP相關的連接 -W:raw socket相關的連接 -l:處于監聽狀態的連接 -a:所有狀態 -n:以數字格式顯示 -e:擴展格式 -p:顯示相關的進程及PID 常用組合: -tan, -uan, -tnl, -unl, -lntp, -untp, -tan, -uan... 傳輸層協議: tcp:面向連接的協議;通信開始之前,要建立一個虛鏈路;通信完成后還要拆除連接 udp:無連接的協議;直接發送數據報文 顯示接口的統計數據: 顯示所有接口: netstat -i 顯示指定接口: netstat -I<IFace> ifup/ifdown命令: 注意:通過配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE來識別接口并完成配置 配置主機名: hostname命令: 查看:hostname 配置:hostname HOSTNAME 臨時生效,重啟后無效 hostnamectl命令: hostnamectl status:顯示當前主機名信息 hostnamectl set-hostname:設定主機名,永久有效 配置文件:/etc/sysconfig/network HOSTNAME=<HOSTNAME> 注意:此方法的設置不會立即生效;但以后會一直有效 配置DNS服務器地址: 配置文件:/etc/resolv.conf nameserver DNS_SERVER_IP 如何測試(host,nslookup,dig) # dig -t A FQDN FQDN --> IP # dig -x IP IP --> FQDN iproute家族: ip命令: show / manipulate routing, devices, policy routing and tunnels ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route | netns } ip OBJECT: ip link:network device configurations ip link set - change device attributes dev NAME:指明要管理的設備,dev關鍵字可省略 up和down:啟用或關閉指定設備 multicase on或multicase off:啟用或關閉多播功能 name NAME:修改設備名稱 注意:重命名時需要先down mtu NUMBER:設置MTU值大小,默認為1500 netns PID:ns為namespace,用于將接口移動到指定的網絡名稱空間 ip link show - display device attributes ip link help - 顯示簡要幫助信息: ip netns:ip - manage network namespaces ip netns list:列出所有的netns ip netns add NAME:創建指定的ns ip netns del NAME :刪除指定的ns ip netns exec COMMAND:在指定的netns中運行命令 ip address - protocol address management ip address add - add new protocol address ip addr add IFADDR dev IFACE [label] NAME:為額外添加的地址指明接口別名 [broadcase ADDRESS]:廣播地址,會根據IP和NETMASK自動計算得到 [scope SCOPE_VALUE]: global:全局可用 link:接口可用 host:本機可用 ip address delete - delete protocol address ip addr delete IFADDR dev IFACE ip address show - look at protocol address [IFACE]:僅顯示指定接口的地址 ip address flush - flush protocol address ip addr flush dev IFACE ip route - routing table management. ip route add - add new route ip route change - change route ip route replace - change or add new one ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP] 示例: # ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100 # ip route add default via 10.0.0.1 ip route delete - delete route ip route del TYPE PREFIX 示例: # ip route delete 192.168.1.0/24 ip route show - show route TYPE PREFIX ip route flush - flush routing table TYPE PREFIX ip route get - get a single route ip route get TYPE PREFIX 示例:ip route get 192.168.0.0/24 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的常見狀態: TCP FSM: LISTEN:監聽 ESTABLISHED:建立的連接 FIN_WAIT_1: FIN_WAIT_2: SYN_SENT: SYN_RECV: CLOSED: EXPRESSION: dport= sport= 示例:'( dport = :22 or sport = :22 )' ~]# ss -tan '( dport = :22 or sport = :22 )' ~]# ss -tan state ESTABLISHED
配置文件
IP/NETMASK/GW/DNS等屬性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE IFACE:接口名稱 路由的相關配置文件:/etc/sysconfig/network-scripts/route-IFACE 配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通過大量參數來定義接口的屬性;其可通過vim等文本編輯工具 直接修改,也可使用專用的命令進行修改 CentOS 6:system-config-network setup CentOS 7:nmtui ifcfg-IFACE配置文件參數: DEVICE:此配置文件對應的設備的名稱 ONBOOT:在系統引導過程中,是否激活此接口 UUID:此設備的唯一標記 IPV6INIT:是否初始化IPv6 BOOTPROTO:激活此接口時使用什么協議來配置接口屬性,常用的有dhcp、bootp、static、none TYPE:接口類型,常見的有Ethernet,Bridge DNS1:第一DNS服務器指向 DNS2:第二DNS服務器指向 DOMAIN:DNS搜索域 GATEWAY:默認網關 IPADDR:IP地址 NETMASK:子網掩碼;CentOS 7支持使用PREFIX以長度方式指明子網掩碼 USERCTL:是否允許普通用戶控制此設備 PEERDNS:如果BOOTPROTO的值為"dhcp",是否允許dhcp server分配的dns服務器指向覆蓋本地手動指定的DNS服務器指向,默認為允許 HWADDR:設備的MAC地址 NM_CONTROLLED:是否使用NetworkManager服務來控制接口 網絡服務: network NetworkManager 管理網絡服務: CentOS 6:service SERVICE {start|stop|restart|status} CentOS 7:systemctl {start|stop|restart|status} SERVICE[.service] 配置文件修改之后,如果需生效,需要重啟網絡服務 CentOS 6:# service network restart CentOS 7:# systemctl restart network.service 用到非默認網關路由:/etc/sysconfig/network-scripts/route-IFACE 支持兩種配置方式,但不可混用 (1)每行一個路由條目 TARGET via GW (2)沒三行一個路由條目 ADDRESS#=TARGET NETMASK#=MASK GATEWAY#=NEXTHOP 配置當前主機名: hostname <HOSTNAME> /etc/sysconfig/network HOSTNAME=hostname CentOS 7配置主機名 hostnamectl set-hostname <HOSTNAME> 可永久生效 網絡接口識別并命名相關的udev配置文件: /etc/udev/rules.d/70-persistent-net.rules 查看網卡: dmesg | grep -i eth ethtool -i eth0 卸載網卡驅動: modprobe -r e1000 rmmod e1000 裝載網卡驅動: modprobe e1000
給接口配置多個地址
ip addr之外,ifconfig或配置文件都可以: (1)ifconfig IFACE_LABEL IPADDR/NETMASK IFACE_LABEL:eth0:0, eth0:1,... (2)為別名添加配置文件: DEVICE=IFACE_LABEL BOOTPROTO:網卡別名不支持動態獲取地址 static, none
網卡名稱
傳統命名: 以太網:ethX,例如eth0,eth1 ppp網絡:pppX,例如ppp0,ppp1 可預測命名方案(CentOS) 支持多種不同的命名機制: Fireware,拓撲結構 (1)如果Fireware或BIOS為主板上集成的設備提供索引信息可用,根據此索引進行命名,如eno1,eno2... (2)如果Fireware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,如ens1,ens2... (3)如果硬件接口的物理位置信息可用,則根基此信息命名,如enp2s0,... (4)如果用戶顯示定義,也可根據MAC地址命名,例如enx13341a3b.... 上述均不可用,則扔使用傳統方式命名: 命名格式的組成: en:ethernet,以太網 wl:wlan,無線局域網 ww:wwan,無線廣域網 名稱類型: o<index>:集成設備的設備索引號 s<slot>:擴展槽的索引號 x<MAC>:基于MAC地址的命名 p<bus>s<slot>:基于總線及槽的拓撲結構進行命名
采用傳統的命名方式
(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) 重啟系統,將配置文件DEVICE項改為傳統名稱即可
原創文章,作者:zhai796898,如若轉載,請注明出處:http://www.www58058.com/44916