【linux】配置网口IP |
您所在的位置:网站首页 › linux查看网口是否接线 › 【linux】配置网口IP |
目录 linux网口配置IP 1、查看接口信息 2、配置IP 3、重启网络服务确认ip配置结果 一个网卡配置多个IP Centos配置DNS 配置RDMA网卡 查看哪个网口连线方法 ens、eno、enp网口的区别 ifconfig eth0 up/down与ifup/ifdown eth0的区别 错误记录 ping不通排查 相关脚本指令记录 netmask掩码和cidr掩码位转换 centOS 8 重启网络服务 / 重启网卡 linux下查找IP冲突的机器 netmask掩码和cidr掩码位转换脚本说明 mask2cdr() 输出: cdr2mask() 输出: 本文作者:bandaoyu,随时更新,最新内容请到原文地址:http://t.csdn.cn/Vk7gG linux网口配置IP 1、查看接口信息#启动网络管理器 [root@localhost ~]# NetworkManager start #查看连接 [root@localhost ~]# service network resatrt [root@localhost ~]# nmcli c show nmcli d status #nmcli device status 查看那个网口接了线 可以看到网口中接线的是ens2f0 网口名就是ens2f0 UUID 就是 ff888acf-86ae-3132-927c-6b47656c58c3 (有时候service network resatrt 执行后需要等一会,不然nmcli connection show检查出的已连线连接不全) (上面方法并不保险,最保险的是ethtool ethx 一个一个试,ethtool ethx之前需要NetworkManager start,conn show 并不显示没有对应ifcfg-xxx文件的端口,所有可以用ip addr 显示所有端口) 可以用ethtool 命令确认连线状况: [root@rdma61 sysconfig]# ethtool ens2f0 Settings for eth18-0: Supported ports: [ Backplane ] …… link Link detected: yes Link detected: yes 表示连线 如果NetworkManager 是一次启动,从其打印的内容也可以得知哪个网口连接网线: 方法1: 输入命令nmtui 使用UI界面进行配置,参考:https://blog.csdn.net/weixin_46560589/article/details/125309320 方法2: 执行下面命令,生成配置文件[root@localhost ~]# nmcli conn add ifname ens2f0 con-name ens2f0 type ethernet INAME=ens2f0 &&nmcli conn add ifname ${INAME} con-name ${INAME} type ethernetifname:接口名 con-name:连接配置名 以上命令添加配置文件的缺点是有时候不生成HWADDR ,这样的话设备重启,端口名称可能会改变。 nmcli命令说明见: https://www.cnblogs.com/libertylife/p/10497512.html 修改配置文件[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens2f0 TYPE=EthernetBOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=ens2f0 UUID=5f1fde10-d2a2-4ea5-8213-7cdb53bb59bf DEVICE=ens2f0ONBOOT=yes HWADDR=00:0c:29:4d:bb:5d IPADDR=192.168.1.101 PREFIX=24 #=mask 255.255.255.0 GATEWAY=192.168.1.254 #根据需要配置 说明: BOOTPROTO=static 静态地址 修改设备名 DEVICE=ens2f0 自动生成 添加IP、掩码、网关 IPADDR=192.168.1.101 PREFIX=24 #=mask 255.255.255.0 GATEWAY=192.168.1.254 原文链接:https://blog.csdn.net/qq_36783142/article/details/75353944 方法3: 直接创建和编辑文件(建设查到的网口名是ens2f0 ) vim /etc/sysconfig/network-scripts/ifcfg-ens2f0 将下面的内容按网口实际信息修改(注意确认,不要漏改) 改NAME、UUID、DEVICE、IPADDR TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=noBOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens2f0UUID= ff888acf-86ae-3132-927c-6b47656c58c3 DEVICE=ens2f0 ONBOOT=yes IPADDR=182.200.31.55 PREFIX=24 GATEWAY=192.168.1.254 #根据需要配置 自动化: MYIFNAME=ens7f2; MYIPADDR=192.168.31.60; MYGATEWAY=182.200.31.251; MYHWADDR=$(ifconfig|grep ${MYIFNAME} -A 5|grep ether|awk '{print $2}'); #modify line sed -i "s/^BOOTPROTO.*\+=.*/BOOTPROTO=static/" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i "s/^ONBOOT.*\+=.*/ONBOOT=yes/" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; #delete line sed -i '/IPADDR/d' /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i '/PREFIX/d' /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i '/GATEWAY/d' /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i '/HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; #add line sed -i "/ONBOOT/a\IPADDR=${MYIPADDR}" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i "/IPADDR/a\PREFIX=24" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i "/PREFIX/a\GATEWAY=${MYGATEWAY}" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i "/GATEWAY/a\HWADDR=${MYHWADDR}" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; #show cat /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; #end 3、重启网络服务确认ip配置结果[root@localhost ~]# systemctl restart network [root@localhost ~]# ifconfig 或 [root@localhost ~]# ip -a 一个网卡配置多个IP在Linux系统下面,第一块网卡就叫eth0,第二块网卡就叫eth1,这里我们给第一块网卡设置多个IP,也即添加多个子网卡,如eth0:0、eth1:1这种网络接口,LINUX最多可以支持255个IP子网卡。 1 切换至 /etc/sysconfig/network-scripts/目录下 cd /etc/sysconfig/network-scripts 2 拷贝/etc/sysconfig/network-scripts目下的ifcfg-eth0到当前目录下,并且改名为eth0:1 cp ifcfg-eth0 ifcfg-eth0:1 3 修改ifcfg-eth0:1文件 DEVICE=eth0:1 IPADDR=192.168.20.9 4 重启网络 systemctl restart network 5 查询ip ifconfig 原文链接:https://blog.csdn.net/qq_45609914/article/details/124028859 Centos配置DNSDNS在 /etc/resolv.conf中配置,但由于一旦网卡重启NetworkManager就会重置 /etc/resolv.conf,所以需要配置NetworkManager.conf,让NetworkManager不要重置 /etc/resolv.conf。 修改NetworkManager.conf 配置文件 vi /etc/NetworkManager/NetworkManager.conf #在[main]中添加 dns=no 修改resolv.conf配置文件 vim /etc/resolv.conf #添加dns nameserver 114.114.114.114 重启 systemctl restart NetworkManager https://blog.csdn.net/weixin_41083358/article/details/124064871 配置RDMA网卡1、查看device的命令: # ibv_devices device node GUID ------ ---------------- rdmap175s0f0 40a6b70b6f300000 rdmap175s0f1 40a6b70b6f310000 ———————————————— 2、查看RDMA device和linux网口的对应关系 Mellanox: ibdev2netdev 因特尔 ibv_devices|awk '{system("echo "$1"\"-->\"`ls /sys/class/infiniband/"$1"/device/net`")}' |& grep -v '/device/net' 或 ibv_devices|awk '{system("echo "$1"\"-->\"`ls /sys/class/infiniband/"$1"/device/net`")}' rocep24s0f3-->ens2f3 rocep24s0f1-->ens2f1 rocep24s0f0-->ens2f0 rocep24s0f2-->ens2f2 3、查看连接线的接口 #启动网络管理器 [root@localhost ~]# NetworkManager start #查看连接[root@localhost ~]# nmcli connection show 找到连线的接口。 使用ethtool 逐个检查上面打出的端口,看到Link detected: yes,就是这个端口是连着网线的,就可以对这个网口配置IP。 ethtool ens2f3 ethtool ens2f1 …… [root@localhost ~]# ethtool ens3f1 Settings for ens3f1: Supported ports: [ FIBRE ] …… Current message level: 0x00000007 (7) drv probe link Link detected: yes 配置IP 剩下配置IP的过程同上面的:linux网口配置IP 重启网卡 ifdown ens2f0 ifup ens2f0 5、确认RDMA功能 查看官方说明,使用官方的测试工具测试。 查看哪个网口连线方法方法1:(保险的方法) 1. 查看连接状态:ip link 2.让eth0网口闪烁:ethtool eth0 把所有的都试一遍就知道了 3.如果能拔网线,拔一下再插上,/var/log/messages日志里能看到 方法2:(适合没有配置过IP的机器) #启动网络管理器 [root@localhost ~]# NetworkManager start #查看连接 [root@localhost ~]# service network resatrt [root@localhost ~]# nmcli connection show ens、eno、enp网口的区别扩展知识内容: en标识etherneto:主板板载网卡,集成是的设备索引号p:独立网卡,PCI网卡s:热插拔网卡,USB之类的扩展槽索引号nnn(数字):MAC地址+主板信息计算得出唯一序列eno1:代表由主板bios内置的网卡 ens1:代表有主板bios内置的PCI-E网卡 enp2s0: PCI-E独立网卡 eth0:如果以上都不使用,则回到默认的网卡名 ifconfig eth0 up/down与ifup/ifdown eth0的区别(摘自:https://blog.csdn.net/weixin_43937576/article/details/90510170) 区别 Ifconfig 在配置文件/etc/sysconfig/network-scripts/ifcfg-ethx中DEVICE=eth0 时,使用ifconfig eth0 up/down才会有效,如果DEVICE=eth1时,再使用ifconfig eth0 up/down便会出现 fup与ifdown。这两个程序其实是script而已,它会直接到 /etc/ sysconfig/network-scripts 目录下搜索对应的配置文件,例如 ifcfg-eth0,它会找出ifcfg-eth0这个文件的内容,然后加以设置 如果ifcfg-eth0文件中,如果DEVICE=eth1时,使用ifup/ifdown eth0 或 ifup/ifdown eth1 都能启动或关闭eth1网络设备 service network restart 失败 systemctl status network.service 查看 1、ens2f0 和ens5f0 中的device 名字冲突,原因是下面的命令 ifname 和con-name 不一致 nmcli connection add ifname ens2f0 con-name ens5f0 type ethernet 类似错误还有用方法2配置IP时,UUID忘记改,造成冲突 报错:Failed to restart network.service: Unit network.service not found. 1、可以尝试使用以下命令: service network-manager restart 2、如果是 Kali Linux(Debian),则需要用以下命令: service networking restart 3、如果是Centos 8,则需要用以下命令: 1.重启网卡之前一定要重新载入一下配置文件,不然不能立即生效 1 nmcli c reload 2.重启网卡(下面的三条命令都可以): 1 2 3 nmcli c up ens160 nmcli d reapply ens160 nmcli d connect ens160 总结:重启centos8的网卡,先载入新的配置文件,然后在执行重启网卡命令即可。 以上其实是下面的缩写: nmcli connection reload 启动 nmcli connection down ens33 停止 nmcli connection up ens33 CentOS 8系统网卡启动命令_爱辉弟的博客-CSDN博客_centos8重启网络服务命令 配置没有问题,但是死活ping不通 案例: 用ethtool 查看 ens3f0 和ens3f1 都是Link detected: yes,所以配置了 ens3f0 的IP,但是始终无法和其他主机通信。改配置 ens3f1就好了。 原因暂时不明。 网关设置错误可以导致连接不上 ens7f0 DEVICE=ens7f0 IPADDR=172.17.31.55 PREFIX=24 GATEWAY=182.200.31.251 ethA3d-0 DEVICE="ethA3d-0" IPADDR=182.200.31.55 PREFIX=24 GATEWAY=182.200.31.251 IP是172.17.31.55,我给它设置网关:182.200.31.251。 导致SSH 连接不上ethA3d-0 :182.200.31.55 RTNETLINK answers: File exists 网友: 原因1 检查发现起了 NetworkManager: #chkconfig --list|grep -i manager NetworkManager 0:off 1:ff 2:on 3:on 4:on 5:on 6:off 关闭NetworkManager即可: #chkconfig NetworkManager off #service NetworkManager stop #service network restart 关闭NetworkManager:之后我的问题仍然没有解决,我直接重启,重启后正常。 ping不通排查 ping本机是否畅通这个可以看出本机网卡驱动是否正常,协议是否安装完全。本机可以ip,也可以127.0.0.1来ping。若通就表示网卡驱动是正常的。可以不用重装网卡驱动。 接线是否正常是否接在了对应的口上。用下面的命令查看ethxx口上是否接上了线 NetworkManager start ethtool ethxx 防火墙 selinux输入 getenforce 查看是否是enforce ,如果是,可能会被限制。 是否是存在别的配置网口配置文件用同样的IP例如: ifcfg-ens3f1 配置了192.168.31.57 配置全部正确,但是就是不通。 进入cd /etc/sysconfig/network-scripts/,发现ifcfg-ens3f0里面的IP 也是192.168.31.57 输入mii-tool可以查看网线是否连接到网卡 #mii-tool eth0: negotiated 100baseTx-FD, link ok有时驱动可能不支持会出错下列错误 #mii-tool SIOCGMIIPHY on 'eth0' failed: Operation not supportedno MII interfaces found 显示所有网络连接:nmcli con show 显示活动网络连接:nmcli con show -active 显示指定网络连接的详情:nmcli con show eno16777728 显示网络设备连接状态:nmcli dev status 显示所有网络设备的详情:nmcli dev show 显示指定网络设备的详情:nmcli dev show eno16777728 启用网络连接:nmcli con up eno16777728 停用网络连接(可被自动激活):nmcli con down eno33554960 禁用网卡,防止被自动激活:nmcli dev dis eth0 删除网络连接的配置文件:nmcli con del eno33554960 重新加载配置网络配置文件:nmcli con reload 动态获取IP方式的网络连接配置:nmcli con add con-name eno16777728 type ethernet ifname eno16777728 指定静态IP方式的网络连接配置:nmcli con add con-name eno16777728 ifname eno16777728 autoconnect yes type ethernet ip4 10.1.254.254/16 gw4 10.1.0.1 启用/关闭所有的网络连接:nmcli net on/off 禁用网络设备并防止自动激活:nmcli con dis eno33554960 查看添加网络连接配置的帮助:nmcli con add help 作者:陈超同学 链接:https://www.jianshu.com/p/c333e15896f7 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 相关脚本指令记录脚本配置: MYIFNAME=ens7f2; MYIPADDR=192.168.31.55; MYGATEWAY=182.200.31.251; MYHWADDR=$(ifconfig|grep ${MYIFNAME} -A 5|grep ether|awk '{print $2}'); #modify line sed -i "s/^BOOTPROTO.*\+=.*/BOOTPROTO=static/" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i "s/^ONBOOT.*\+=.*/ONBOOT=yes/" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; #delete line sed -i '/IPADDR/d' /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i '/PREFIX/d' /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i '/GATEWAY/d' /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i '/HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; #add line sed -i "/ONBOOT/a\IPADDR=${MYIPADDR}" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i "/IPADDR/a\PREFIX=24" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i "/PREFIX/a\GATEWAY=${MYGATEWAY}" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; sed -i "/GATEWAY/a\HWADDR=${MYHWADDR}" /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME}; #show cat /etc/sysconfig/network-scripts/ifcfg-${MYIFNAME};#ip4 to hex ip #ip4 to hex ip function ip4_to_hex() { tmpifs=${IFS} IFS="." ipf1=`echo $1|awk '{print $1}'` ipf2=`echo $1|awk '{print $2}'` ipf3=`echo $1|awk '{print $3}'` ipf4=`echo $1|awk '{print $4}'` IFS=${tmpifs} g_hexip=`printf "%x%x:%x%x" ${ipf1} ${ipf2} ${ipf3} ${ipf4}` echo "ip:"$1 echo "hexip:"$g_hexip }从配置文件获取IP并转换成端口名 ethip=$(line=`cat $CEPH_CONF |grep -E 'public_addr'`&&echo ${line#*=}) g_nic_name=$(ifconfig | awk -F ":" '/'$ethip'/{print a}{a=$1}') netmask掩码和cidr掩码位转换脚本接收见文章末尾。 #!/bin/bash mask2cdr () { # Assumes there's no "255." after a non-255 byte in the mask local x=${1##*255.} set -- 0^^^128^192^224^240^248^252^254^ $(( (${#1} - ${#x})*2 )) ${x%%.*} x=${1%%$3*} echo $(( $2 + (${#x}/4) )) } cdr2mask () { # Number of args to shift, 255..255, first non-255 byte, zeroes set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |