linux arp 表 添加静态arp的命令

今天给各位分享linux arp 表的知识,其中也会对添加静态arp的命令进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

如何在我的linux查看我的arp表格

Linux Arp命令显示和修改地址解析协议(ARP)使用的“IP到物理”地址转换表。

ARP-s inet_addr eth_addr [if_addr]

ARP-d inet_addr [if_addr]

ARP-a [inet_addr] [-N if_addr] [-v]

-a通过询问当前协议数据,显示当前ARP项。如果指定inet_addr,则只显示指定计算机的IP地址和物理地址。如果不止一个网络接口使用ARP,则显示每个ARP表的项。

-g与-a相同。

-v在详细模式下显示当前ARP项。所有无效项和环回接口上的项都将显示。

inet_addr指定Internet地址(IP地址)。

-N if_addr显示if_addr指定的网络接口的ARP项。

-d删除inet_addr指定的主机。inet_addr可以是通配符*,以删除所有主机。

-s添加主机并且将Internet地址inet_addr与物理地址eth_addr相关联。物理地址是用连字符分隔的6个十六进制字节。该项是永久的。

eth_addr指定物理地址。

if_addr如果存在,此项指定地址转换表应修改的接口的 Internet地址。如果不存在,则使用第一个适用的接口。

示例:

添加静态项。这个很有用,特别是局域网中中了arp病毒以后

# arp-s 123.253.68.209 00:19:56:6F:87:D2

# arp-a....显示 ARP表。

但是arp-s设置的静态项在用户登出之后或重起之后会失效,如果想要任何时候都不失效,可以将ip和mac的对应关系写入arp命令默认的配置文件/etc/ethers中

例如:

引用

root@ubuntu:/# vi/etc/ethers

211.144.68.254 00:12:D9:32:BF:44

写入之后执行下面的命令就好了

引用

arp-f/etc/ethers

为保证重起之后绑定仍然有效,需要把上述命令写入/etc/ethers

ARP(Address Resolution Protocol),或称地址解析协议。

本地机向"某个IP地址--目标机IP地址"发送数据时,先查找本地的ARP表,如果在ARP表中找到"目标机IP地址"的ARP表项,(网络协议)将把"目标机IP地址"对应的"MAC地址"放到MAC包的"目的MAC地址字段"直接发送出去;

如果在ARP表没有找到"目标机IP地址"的ARP表项,则向局域网发送广播ARP包("目的MAC地址字段"== FF:FF:FF:FF:FF:FF),目标机将向本地机回复ARP包(包含目标机的MAC地址)

Linux 路由表(RIB表、FIB表)、ARP表、MAC表整理

网络设备中的关键表项包括路由表、转发表、ARP表和MAC表,它们在实现网络转发中起着至关重要的作用。路由表,也称RIB或FIB,存储着网络拓扑信息和路径参数,用于路由决策和快速转发。FIB表是从RIB中筛选出最优路径的转发表。在路由器中,RIB用于决策,FIB则用于实际转发数据包。

每个路由器通常维护两张相似的表:RIB和FIB。FIB表(也可能是RIB表,取决于设备)是根据RIB中的路径选择确定的,选择依据包括路径速度、质量、长度等指标。在主机设备中,由于没有多个出接口,RIB和FIB通常合并为单一的表。

ARP表用于解决IP地址和MAC地址之间的对应关系,当发送数据包时,通过查询ARP表找到目标的MAC地址。MAC表则维护着数据链路层的地址映射,记录了MAC地址和接口的对应关系,静态和动态MAC地址反映了不同的管理方式。

在报文转发过程中,设备首先通过路由表查找最佳路径,然后通过ARP表确定目标的MAC地址,最后通过MAC表确定数据包的出接口。在大型网络中,高效的路由匹配算法和硬件加速至关重要,以处理大量路由表项的查询。

总结来说,这些表项协同工作,构成了网络设备中的核心转发机制,确保数据包能准确、快速地到达目的地。

如何给linux给ARP表添加条目

Liunx添加ARP表方式如下:

[功能]

管理系统的arp缓存。

[描述]

用来管理系统的arp缓存,常用的命令包括:

arp:显示所有的表项。

arp-d address:删除一个arp表项。

arp-s address hw_addr:设置一个arp表项。

常用参数:

-a使用bsd形式输出。(没有固定的列)

-n使用数字形式显示ip地址,而不是默认的主机名形式。

-D不是指定硬件地址而是指定一个网络接口的名称,表项将使用相应接口的MAC地址。一般用来设置ARP代理。

-H type,--hw-type type:指定检查特定类型的表项,默认type为ether,还有其他类型。

-i If,--device If:指定设置哪个网络接口上面的arp表项。

-f filename:作用同'-s',不过它通过文件来指定IP地址和MAC地址的绑定。文件中每行分别是主机和MAC,中间以空格分割。如果没有指定文件名称,则使用/etc/ethers文件。

以下例子中,用主机名称的地方也可以用点分10进制的ip地址来表示。另外输出结果中用"C"表示ARP缓存内容,"M"表示永久性表项,"P"表示公共的表项。

[举例]

*查看arp表:

#arp

Address HWtype HWaddress FlagsMask Iface

hostname1 ether 44:37:e6:97:92:16 C eth0

hostname2 ether 00:0f:fe:43:28:c5 C eth0

hostname3 ether 00:1d:92:e3:d5:ee C eth0

hostname4 ether 00:1d:0f:11:f2:a5 C eth0

这里,Flags中的"C"代表此表项目是高速缓存中的内容,高速缓存中的内容过一段时间(一般20分钟)会清空,而"M"则表示静态表项,静态表项的内容不会过一段时间被清空。

*查看arp表,并且用ip显示而不是主机名称:

# arp-n

Address HWtype HWaddress FlagsMask Iface

10.1.10.254 ether 00:1d:92:e3:d5:ee C eth0

10.1.10.253 ether 44:37:e6:9b:2c:53 C eth0

10.1.10.178 ether 00:1b:78:83:d9:85 C eth0

10.1.10.119 ether 00:1d:0f:11:f2:a5 C eth0

这里,对于上面的条目,假设当我们"ping 10.1.10.1"通过之后,arp中会多一条"10.1.10.1"相关的信息。

*查看arp表,显示主机名称和ip:

#arp-a

ns.amazon.esdl.others.com(10.1.10.254) at00:1d:92:e3:d5:ee [ether] on eth0

server.amazon.eadl.others.com(10.1.10.253) at44:37:e6:9b:2c:53 [ether] on eth0

D2-baijh.amazon.esdl.others.com(10.1.10.178) at00:1b:78:83:d9:85 [ether] on eth0

aplab.local(10.1.10.119) at 00:1d:0f:11:f2:a5[ether] on eth0

*添加一对IP和MAC地址的绑定:

# arp-s 10.1.1.1 00:11:22:33:44:55:66

这里,如果网络无法达到,那么会报告错误,具体如下:

root@quietheart:/home/lv-k# arp-s 10.1.1.100:11:22:33:44:55:66

SIOCSARP: Network is unreachable

root@quietheart:/home/lv-k# arp-n

Address HWtype HWaddress FlagsMask Iface

10.1.10.254 ether 00:1d:92:e3:d5:ee C eth0

10.1.10.253 ether 44:37:e6:9b:2c:53 C eth0

10.1.10.178 ether 00:1b:78:83:d9:85 C eth0

10.1.10.119 ether 00:1d:0f:11:f2:a5 C eth0

实际上,如果"arp-s"设置成功之后,会增加一个Flags为"CM"的表项,有些系统静态条目不会因为ARP响应而更新,而高速缓存中的条目会因此而更新。如果想要手工设置没有"M",那么用"temp"选项,例如:"arp-s IP MAC temp"类似的命令,实践发现,如果已经设置过IP了,那么再设置也不会改变其Flags。

*删除一个arp表项:

# arp-d 10.1.10.118

这里,删除之后只是硬件地址没有了,如下:

root@quietheart:~# arp-n

Address HWtype HWaddress FlagsMask Iface

10.1.10.118 ether 00:25:9c:c2:79:90 CM eth0

10.1.10.254 ether 00:1d:92:e3:d5:ee C eth0

root@quietheart:~# arp-d 10.1.10.118

root@quietheart:~# arp-n

Address HWtype HWaddress FlagsMask Iface

10.1.10.118(incomplete) eth0

10.1.10.254 ether 00:1d:92:e3:d5:ee C

*删除eth0上面的一个arp表项:

# arp-i eth0-d 10.1.10.118

[其它]

*指定回复的MAC地址:

#/usr/sbin/arp-i eth0-Ds 10.0.0.2 eth1 pub

当eth0收到IP地址为10.0.0.2的请求时,将会用eth1的MAC地址回答。

例如,双网卡机器运行这条命令:

/usr/sbin/arp-i eth0-Ds 10.0.0.2 eth1 pub

会多一项:

10.0.0.2* MP eth0

阅读剩余
THE END