网络配置

mac2022-06-30  24

基本网络配置
将Linux主机接入到网络,需要配置网络相关设置。一般包括如下内容:主机名 IP/netmask路由:默认网关DNS服务器• 主DNS服务器• 次DNS服务器• 第三DNS服务器
CentOS 6网卡配置
接口命名方式:CentOS 6以太网:eth[0,1,2,...]ppp:ppp[0,1,2,...]网络接口识别并命名相关的udev配置文件:/etc/udev/rules.d/70-persistent-net.rules查看网卡:dmesg |grep –i ethethtool -i eth0卸载网卡驱动:modprobe -r e1000rmmod e1000装载网卡驱动:modprobe e1000静态指定:ifconfig, route, netstatip: object {link, addr, route}, ss, tcsystem-config-network-tui,setup配置文件动态分配:DHCP: Dynamic Host Configuration Protocolifconfig命令ifconfig [interface]ifconfig -aifconfig IFACE [up|down]ifconfig interface [aftype] options | address ...ifconfig IFACE IP/netmask [up]ifconfig IFACE IP netmask NETMASK注意:立即生效启用混杂模式:[-]promisc
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
配置动态路由
通过守护进程获取动态路由• 安装quagga包• 支持多种路由协议:RIP、OSPF和BGP• 命令vtysh配置
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常用组合:-tan, -uan, -tnl, -unl显示路由表: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• ifconfig -s eth0
ip命令
配置Linux网络属性:ip命令ip - show / manipulate routing, devices, policy routing and tunnels• ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route }• ip link - network device configuration • set dev IFACE可设置属性:• up and down:激活或禁用指定接口• 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 - look at protocol addresses• [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:0ip route - routing table management添加路由:ip route addip route add TARGET via GW dev IFACE src SOURCE_IPTARGET:• 主机路由: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 IFACEip route add default via 172.16.0.1• 删除路由:ip route del TARGET• 显示路由:ip route show|list• 清空路由表:ip route flush [dev IFACE] [via PREFIX]• ip route flush dev eth0
ss命令
格式:ss [OPTION]... [FILTER]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:计时器信息FILTER : [ state TCP-STATE ] [ EXPRESSION ]TCP的常见状态:tcp finite state machine:• LISTEN: 监听• ESTABLISHED:已建立的连接• FIN_WAIT_1• FIN_WAIT_2• SYN_SENT• SYN_RECV• CLOSEDEXPRESSION:dport =sport =示例:’( dport = :ssh or sport = :ssh )’常用组合:-tan, -tanl, -tanlp, -uan
常见用法
ss -l 显示本地打开的所有端口ss -pl 显示每个进程具体打开的socketss -t -a 显示所有tcp socketss -u -a 显示所有的UDP Socektss -o state established '( dport = :ssh or sport = :ssh )' 显示所有已建立的 ssh连接ss -o state established '( dport = :http or sport = :http )' 显示所有已建立 的HTTP连接ss -s 列出当前socket详细信息
网络配置文件
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:子网掩码• 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
网卡别名
对虚拟主机有用将多个IP地址绑定到一个NIC上eth0:1 、eth0:2、eth0:3ifconfig命令:ifconfig eth0:0 192.168.1.100/24 upifconfig eth0:0 downip命令:• 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 add 172.16.1.2/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:0IPADDR=10.10.10.10NETMASK=255.0.0.0ONPARENT=yes注意:service network restart 生效参考:/usr/share/doc/initscripts-*/sysconfig.txt
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”/etc/sysconfig/network-scripts/ifcfg-eth0• DEVICE=eth0• BOOTPROTO=none• MASTER=bond0• SLAVE=yes• USERCTL=no查看bond0状态:/proc/net/bonding/bond0miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测 一次链路连接状态,如果有一条线路不通就转入另一条线路删除bond0ifconfig bond0 downrmmod bonding详细帮助:/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txthttps://www.kernel.org/doc/Documentation/networking/bonding.txt
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,em2pci卡:pYpX Y:slot ,X:port(2) 名称组成格式• en: Ethernet 有线局域网• wl: wlan 无线局域网• ww: wwan无线广域网名称类型:• o<index>: 集成设备的设备索引号• s<slot>: 扩展槽的索引号• x<MAC>: 基于MAC地址的命名• p<bus>s<slot>: enp2s1
采用传统命名方式
使用传统命名方式:(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) 重启系统
CentOS 7网络配置工具
CentOS7主机名 • 配置文件:/etc/hostname ,默认没有此文件,通过DNS反向解析获取主机 名,主机名默认为:localhost.localdomain •显示主机名信息hostnamehostnamectl status•设置主机名hostnamectl set-hostname centos7.magedu.com • 删除文件/etc/hostname,恢复主机名localhost.localdomainCentOS 7网络配置工具• 图形工具:nm-connection-editor• 字符配置tui工具:nmtui• 命令行工具:nmcli
nmcli命令
地址配置工具:nmclinmcli [ OPTIONS ] OBJECT { COMMAND | help }•device - show and manage network interfaces•nmcli device help•connection - start, stop, and manage network connections•nmcli connection help修改配置文件执行生效:systemctl restart networknmcli con reloadnmcli命令生效: nmcli con down eth0 ;nmcli con up eth0NeworkManager是管理和监控网络设置的守护进程设备即网络接口,连接是对网络接口的配置,一个网络接口可有多个连接配置, 但同时只有一个连接配置生效显示所有包括不活动连接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
测试网络工具
在命令行下测试网络的连通性显示主机名hostname测试网络连通性ping显示正确的路由表ip route跟踪路由traceroutetracepathmtr确定名称服务器使用 nslookuphostdig

转载于:https://www.cnblogs.com/AloneSea/p/9885831.html

最新回复(0)