ifconfig配置本地回环地址

ifconfig配置本地回环地址,第1张

精简的linux *** 作系统,默认不添加本地回环地址。添加本地回环地址的命令:

ifconfig lo 127.0.0.1

基本信息127.0.0.1,通常被称为本地回环地址(Loop back address),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。在windows *** 作系统中也有相似的定义,所以通常在不安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。

主要作用有两个:一是测试本机的网络配置,能PING通127.0.0.1说明本机的网卡和IP协议安装都没有问题;另一个作用是某些SERVER/CLIENT的应用程序在运行时需调用服务器上的资源,一般要指定SERVER的IP地址,但当该程序要在同一台机器上运行而没有别的SERVER时就可以把SERVER的资源装在本机,SERVER的IP地址设为127.0.0.1同样也可以运行。

本地回环地址指的是以127开头的地址(127.0.0.1 - 127.255.255.254),通常用127.0.0.1来表示。

验证案例,以socat为例:

监听本地1234端口 socat - tcp-listen:1234

连接本地1234端口 socat - tcp:127.0.0.1:1234

或 socat - tcp:127.255.255.254:1234

以上两种写法都是可以进行通信的。

即: 127.0.0.1 --->127.255.255.254(去掉0和1) 的范围都是本地回环地址。

[1]2IPv6IPv6有与IPv4类似的回环地址,由节点自己使用,回环地址表示为压缩格式::1。

linux重启网卡(络)的命名如下:

service network restart

/etc/init.d/network restart

或者使用如下命令重启某块具体的网卡:

ifconfig eth0 down

ifconfig eth0 up

ifconfig命令的功能是:ifconfig命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

ifconfig命令的用法:ifconfig是查看网卡的信息。

Interface是可选项,如果不加此项,则显示系统中所有网卡的信息。如果添加此选项则显示所指定的网卡信息。

命令格式:ifconfig [网络设备] [参数]。

命令参数:

up:启动指定网络设备/网卡。

down:关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。

arp:设置指定网卡是否支持ARP协议。

-promisc:设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包。

-allmulti:设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包。

-a:显示全部接口信息。

-s:显示摘要信息(类似于 netstat -i)。

add:给指定网卡配置IPv6地址。

del:删除指定网卡的IPv6地址。

<硬件地址>:配置网卡最大的传输单元。

mtu<字节数>:设置网卡的最大传输单元 (bytes)。

netmask<子网掩码>:设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。

tunel:建立隧道。

dstaddr:设定一个远端地址,建立点对点通信。

-broadcast<地址>:为指定网卡设置广播协议。

-pointtopoint<地址>:为网卡设置点对点通讯协议。

multicast:为网卡设置组播标志。

address:为网卡设置IPv4地址。

txqueuelen<长度>:为网卡设置传输列队的长度。

ifconfig命令

Windows中的ipconfig命令行工具,被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig (interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。

使用 虚拟ip最多的场景可能是双机 ,往往结合着keepalived使用。其实没有双机软件也可以使用虚拟ip,下面介绍两种方法ip addr和ifconfig进行增删查虚拟ip。

增加虚拟ip :

ip addr add ip/netmask dev 网口名称,比如ip addr add 192.168.88.0/24 dev eth0

查看虚拟ip : 

ip addr show device_name或ip addr | grep eth0

ip addr =ip a= ip add list 查看网卡的ip和mac等,即使网卡处于down状态,也能显示出网卡状态,但是ifconfig查看就看不到。

删除虚拟ip:

ip addr del ip/netmask dev 网口名称,比如ip addr del 192.168.88.0/24  dev eth0

清空指定网卡的所有ip:

ip addr flush dev 接口

ip addr *** 作时的注意事项:

说明:网卡配置的ip一般为Primary ip,虚拟ip一般为Secondary ip,当删除Primary ip时Secondary ip也有可能同时被删除。

先查看ipv4或ipv6相应网卡开启提升参数promote_secondaries为1,当Primary ip被删除后,它的第1个Secondary ip将继承为Primary ip。

#  cat /etc/sysctl.conf  | grep promote_secondaries

net.ipv4.conf.eth0.promote_secondaries=1

默认不开启,查不到结果则表明未开启。

Secondary ip和Primary ip标注如下

[root@localhost ~]# ip addr show eth0

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether 00:19:b9:ef:44:8b brd ff:ff:ff:ff:ff:ff

    # Primary ip

    inet 172.16.0.230/24 brd 172.16.0.255 scope global eth0

    inet 10.1.1.230/24 scope global eth0

    # Secondary ip

    inet 10.1.1.231/24 scope global secondary eth0

在linux中在一个网卡上配置的同一个网段的ip有Primary IP和Secondary address之分,如果不是同一个网段的ip总有一个是Primary IP,一条链上的吊链结构中上面的那条主链中的IP是Primary IP,Secondary address是主链结点的子链结点中的IP,一 旦主链上一个节点被删除了,那么它的子链也将不复存在,随之被删除。

可以通过调整一个参数来实现,当一个primary ip被删除时,如果它有secondary ip的话,那么它的第1个secondary地址(长子)成为primary地址,这样就显得很合理了,要不然在删除 primary地址的时候,如果有程序用secondary地址,要么延迟删除,要么程序崩溃。

开启的方法(主机重启后仍然生效的)

echo "net.ipv4.conf.eth0.promote_secondaries=1" >>/etc/sysctl.conf

ifconfig eth1:1 192.168.5.10/24  up:起别名

ifconfig eth0:1 192.168.8.5 netmask 255.255.255.0 up

ifconfig eth1:1 192.168.5.10/24 down : 删别名

ifconfig eth0:1 192.168.8.5 netmask 255.255.255.0 down

ifconfig eth1 up :启用eth1网卡

ifconfig eth1 down : 禁用eth1网卡,这种禁用是从数据链路层断掉,但是网络层ip还在,有时候能ping 通,大概率是缓存表没有更新

ifdown eth0 : 禁用网卡,删除了网络层ip

二者本质上没有什么区别,只是表述方式不同。如果你非常理解网络协议的原理以及网络的分层架构那么我想你就不会有这个问题,实际上 每一个网卡设备都有一个mac地址 , 但是却可以有多个网络层地址 ,比如IP地址,然而这个事实无法很好地像用户提供 *** 作接口,所以就引出了ip别名(IP aliases)和辅助ip(secondary IP addresses)的概念。其实很容易理解这个事实,按照分层的思想,下层总是为上层服务,也就是为上层提供舞台,上层利用下层的服务,而不必让下层知道自己的情况,如果一个拥有合理mac地址的网卡没有配置网络层地址(比如IP地址)这件事合理的话,那么为这个设备配置多个IP地址也是合理的,好比一个ip可以对应多个应用层端口一样,也就是说,下层对上层总是一对多的关系,在分层架构中这种关系是合理的。

比如一台机器上运行着一个代理服务器或者负载均衡服务,代理服务器或者负载均衡服务和主服务器要监听相同的端口,那么就可以用secondary ip来解决,只要需要在同一网段监听同一个端口的应用都是吊链中子链存在的原因,因此可以说,主链对外部或者说对下面链路层虚拟了多块网卡, 而子链向上层虚拟了多台机器,配置了吊链结构的linux主机如果说只有一块网卡,那么外部会认为它有多块网卡,对于内部,应用层会认为彼此在不同的主机 上,这就是效果。

添加地址可以通过2个用户空间程序搞定,一个是ifconfig,另一个是ip addr add,ifconfig是基于ioctl进行添加地址的,而ip是基于netlink进行添加地址的,不管哪一种方式都可以达到目的。 但为何用ip addr add添加的ip地址用ifconfig看不到,而ifconfig设置的地址ip addr show却是可以看到?这个问题先放一放。

ip addr增加的虚拟ip在物理主机或虚拟机重启后失效。

方法1:把命令加到/etc/rc.local里面

ip addr add 192.168.26.74/32 dev eth1

方法2:高可用双机倒换后进行虚拟ip的增加

方法3:在/etc/sysconfig/network-scripts添加网卡名字,比如ifcfg-eth0:0,DEVICE=eth0:1 ---->子接口名

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.109.108

NETMASK=255.255.255.0

ip addr *** 作ip时需要注意

ip addr和ifconfig的区别


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11341591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存