如何在Linux路由上设置IP和MAC绑定

运维 系统运维
在有些系统中有这样的需求,希望内部网中的某几个IP地址连接互联网,而又希望这些IP地址不被非法用户盗用。可以通过下面的解决办法实现

在有些系统中有这样的需求,希望内部网中的某几个IP地址连接互联网,而又希望这些IP地址不被非法用户盗用。可以通过下面的解决办法实现:

首先使用ipchains或者iptables来设定只允许合法的IP地址连出。

对于合法IP建立IP/Mac捆绑。要讨论这个问题我们首先需要了解ARP协议的工作原理,arp协议是地址解析协议(Address Resolution Protocol)的缩写,其作用及工作原理如下:

在底层的网络通信中,两个节点想要相互通信,必须先要知道源与目标的MAC地址。为了让系统能快速地找到一个远程节点的MAC地址,每一个本地的内核都保存有一个即时的查询表(称为ARP缓存)。ARP中有影射远程主机的IP地址到其对应的MAC地址的一个列表。地址解析协议(ARP)缓存是一个常驻内存的数据结构,其中的内容是由本地系统的内核来管理和维护的。默认的情况下,ARP缓存中保留有最近十分钟本地系统与之通信的节点的IP地址(和对应的MAC地址)。

当一个远程主机的MAC地址存在于本地主机的ARP 缓存中,转换远程节点的IP地址为MAC地址不会遇到问题。然而在许多情况下,远程主机的MAC地址并不存在于本地的ARP缓存中,系统会怎么处理呢?在知道一个远程主机的IP地址,但是MAC地址不在本地的ARP缓存中的时候,以下的过程用来获取远程节点的MAC地址:本地主机发送一个广播包给网络中的所有的节点,询问是否有对应的IP地址。一个节点(只有一个)会回答这个ARP广播信息。在回应的信息包里就会包含有这个远程主机的MAC地址。在收到这个返回包后,本地节点就会在本地ARP缓存中记录远程节点的MAC地址。

如果我们将IP/MAC对应关系建立为固定的,也就是对那些合法IP地址建立静态的MAC对应关系,那么即使非法用户盗用了IP地址linux路由器在回应这些IP发出的连接请求时则不会通过arp协议询问其mac地址而是使用Linux建立的静态MAC地址、发出应答数据这样盗用IP者则不会得到应答数据从而不能使用网络服务。

建立静态IP/MAC捆绑的方法是:建立/etc/ethers文件,其中包含正确的IP/MAC对应关系,格式如下:

192.168.2.32 08:00:4E:B0:24:47

然后再/etc/rc.d/rc.local最后添加:arp -f即可

2.4内核的iptables可以对IP和Mac同时进行限定,使用该功能对合法IP的规则同时限定IP地址和Mac地址即可。

【编辑推荐】

  1. Linux系统下配置Netware服务器方法
  2. 嵌入式设备上的 Linux 系统开发
  3. 深度介绍Linux内核是如何工作的(1)
责任编辑:张燕妮 来源: IT168
相关推荐

2009-04-15 20:52:37

Linux设置IPMAC绑定

2010-03-03 17:14:10

Linux路由设置ip

2013-03-27 15:46:06

2018-03-29 15:21:03

LinuxDebian网桥

2021-12-06 16:20:38

Flutter开发Linux

2020-05-28 08:45:21

Arch LinuxLinuxKDE Plasma

2020-07-08 15:29:05

MacJava编程语言

2010-06-21 17:51:53

Linux Arp命令

2019-07-12 16:28:32

MacKubernetes

2022-07-18 10:15:14

文件传输协议TFTPLinux

2021-09-15 08:00:00

Windows 11Windows微软

2018-02-23 09:32:13

LinuxUnixntpd

2019-08-14 09:42:06

LinuxElasticsearKibana

2016-01-07 14:02:55

Ubuntu 15.1网卡 IP地址

2022-10-27 10:02:58

UbuntuLinux

2022-08-24 08:33:27

Git系统Linux

2018-08-06 09:30:00

LinuxPbcopyPbpaste

2022-09-19 08:45:52

Telnet系统Linux

2024-01-30 20:06:18

RHELVLAN

2022-06-10 10:01:17

MacDockerLinux
点赞
收藏

51CTO技术栈公众号