请教: 使用IPTABLES作为网关,实现客户端的IP地址跟MAC地址绑定?

这个你在iptables里的nat里对每个地址作SNAT时指上就OK了,
也可在你的机子上arp -s 网关IP 正确的网关MAC地址
不过怎么做也挡不住别人改地址(改了地址上不了网,但是别人会地址冲突,也上不了)
最好的办法是用一台支持三层交换的交换机做一个绑定(要很多银子)

------------------

也许可以这样过滤
iptables -A FORWORD -s x.x.x.x -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT
不过你机器多的话过滤条目也会很多
我觉得我这个办法很笨,但又想不出别的办法

SNAT就是你共享宽带让别人出去阿,你没做SNAT客户机怎么出去?路由?
过滤mac地址也可以在POSTROUTING里SNAT时候过滤

是呀,我都找遍了这个论坛里的DHCP相关的贴子,好像没查到,不过现在已解决这个问题。跟兄弟们分享一下,过程如下

vi /etc/ethers //新建一个ethers 文件,我感觉这是arp -s 默认在LINUX下找的文件,如果你执行arp -f 系统会提示你没有那个文件。

然后在ethers里添加记录,一个IP 一个MAC地址如
192.168.1.1 11:11:11:11:11:11
......

:wq

vi /etc/rc.d/rc.loacl
在最后添加
arp -f
:wq

使用arp 命令查看,可以看到标志为CM的添加的记录。

最后测试,用别的机器把IP改成192.168.1.1

这时会发现ping 192.168.1.254 (LINUXIP/ 网关IP) 不通。

实现IP跟MAC地址绑定,防止客户端修改IP。

目前正在使用IPTABLES+SQUID做透明**+DHCP 系统RH9,还有一些安全方面的事情没搞。

-------------------

现在arp病毒太猖狂,局域网里tcpdump一查看好机台机子都在搞arp***(有的是故意的,在共享带宽上网的时候,有的是中毒的),路由器又不支持客户机ip和mac地址绑定,深受arp病毒之苦,现将防毒经验奉上,供各位参考。arp病毒的原理不外乎欺骗网关和被***机器的mac地址和ip的绑定情况。在没有路由器控制权或者路由器不支持客户机ip和mac绑定的情况下,要正常上网很麻烦。在linux下治标的办法很容易。在本机只要网关mac地址静态绑定,那么网关的mac地址是不会受骗了。但是为了让网关知道你机子的mac地址,需要主动告知网关你的ip地址。

很简单 arping 本机的ip即可。

只需三步即可完成,假设你的网卡是eth0

1: 在没有受到病毒***时记录下正常的网关的ip地址和mac地址。

2: arp -s 网关ip  网关正确的mac地址

#主动通过广播发送本机的mac和ip绑定信息给网关。

3:  arping  本机eth0网卡的ip  &

还有一种办法可以上网: 用arpscan或者arping ,tcpdump (arpscan 网关ip即可知道)都很容易找出arp***为网关伪装的的mac地址(这个mac地址可能不是真实存在的),把你的网卡的mac地址设置成和这个地址一模 一样即可上网。

这些方法只可以让你在受到arp***时正常上网,但毕竟不是治本的办法,治本的办法只有真人pk掉arp***的机器。可以采取其它辅助办法

#取消arp 响应 ifconfig  eth0 -arp 用arptables、iptables防火墙工具只允许本机和网关通讯。
----------------------

Linux网关服务器实现静态IP/MAC捆绑 (2007-02-06 13:03)
分类: Linux学习
/etc目录下创建ether文件,编辑ether(正确的IP/MAC对应),书写格式如下:
192.168.1.1  00:0E:02:36:F7:E1
192.168.1.2  00:0E:02:36:F7:E2
192.168.1.3  00:0E:02:36:F7:E3
然后再编辑/etc/rc.d/rc.local,添加以下代码:
  arp -f

----------------

用linux 机器配置网关且绑定ip和mac地址防止arp***(zhuan)

最近一段时间为一个项目做项目实 施,其中涉及到了使用CentOS5.1操作系统假设一台网关服务器的问题,要通过其实现外网计算机访问不到内网的主机,内网中仅指定的主机才可以访问外 网的功能,经过一番测试之后终于能够实现了,现在将实现的过程记录下来,以备今后的不时之需。
    一、所需软件:安装了自带的iptables防火墙的CentOS5.1操作系统
    二、前提准备:
        1.进行网关的相关配置,为了方便起见,使用root用户登录到系统中;
        2.首先对网关服务器的两块网卡进行网络设置,其中内网网卡设置的时候网关的地址空白,设置好之后检查一下网关服务器是否能够上外网,以及与内网是否已经 联通。均联通之后将内网网卡和外网网卡的设备号分别记录下来。(在本例中,内网网卡设备号为eth0、外网网卡设备号为eth1)
        3.要实现内网主机可以通过网关服务器上外网的功能,需要将网关操作系统中的数据包转发功能开启,可以通过sysctl -A命令查看当前内核参数设置,找到其中net.ipv4.ip_forward项查看其对应的参数值(0表示未开启,1表示开启)
        4.如果在上一项中发现的参数值为0,则需要将内核的数据包转发功能开启,具体实现方式为:
            输入vi /etc/sysctl.conf命令打开配置文件,找到其中net.ipv4.ip_forward所在的行,将"="后面的数值由0更改为1,之后将文件保存后退出vi编辑器。
        5.将配置文件修改完成后,可以使用sysctl -p /etc/sysctl.conf命令或将操作系统重新启动,以使参数生效。此时准备工作已经完成,接下来对防火墙的规则进行配置即可。
    三、ipables规则设置:
        1.此例中使用CentOS自带的功能强大的iptables防火墙来实现上述的要求,此时需要对iptables的规则进行设置,运行vi /etc/sysconfig/iptables命令,打开规则配置文件,按照下面给出的配置文件模板进行设置:

Java代码
  1. # Firewall configuration written by system-config-securitylevel
  2. # Manual customization of this file is not recommended.
  3. *filter
  4. :INPUT ACCEPT [0:0]
  5. :FORWARD ACCEPT [0:0]
  6. :OUTPUT ACCEPT [0:0]
  7. :RH-Firewall-1-INPUT - [0:0]
  8. #new add
  9. -A INPUT -i eth0 -j ACCEPT
  10. -A INPUT -j RH-Firewall-1-INPUT
  11. -A FORWARD -j RH-Firewall-1-INPUT
  12. -A RH-Firewall-1-INPUT -i lo -j ACCEPT
  13. #new add
  14. -A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
  15. -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
  16. -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
  17. -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
  18. -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
  19. -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
  20. -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
  21. -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  22. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
  23. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  24. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  25. -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
  26. COMMIT
  27. #new add
  28. *nat
  29. :PREROUTING ACCEPT [0:0]
  30. :POSTROUTING ACCEPT [0:0]
  31. :OUTPUT ACCEPT [0:0]
  32. #增加到这个表的内网ip才能上网
  33. -A POSTROUTING -s 10.0.0.102 -o eth1 -j MASQUERADE
  34. -A POSTROUTING -s 10.0.0.254 -o eth1 -j MASQUERADE
  35. -A POSTROUTING -s 10.0.0.19 -o eth1 -j MASQUERADE
  36. -A POSTROUTING -s 10.0.0.233 -o eth1 -j MASQUERADE
  37. COMMIT
  38. # Completed

2.编辑好规则配置文件后,保存并退出vi编辑器。
        3.只有运行service iptables status查看系统当前iptables服务的状态。如果为stop,则使用service iptables start命令将其开启即可;如果为Start,则使用service iptables restart命令将其重新启动以使新的规则设置生效。
        4.此时即可实现网关服务器的设置,可以到那台允许访问外网的主机上访问一下外网以检测设置是否

========================================
防止arp***的双向绑定
服务器端:
vi /etc/ethers 增加
192.168.0.60  00-10-ac-9d-35-4d(windows机器的ip及mac地址)
192.168.0.61  00-0a-cb-20-4f-f5
然后用arp -f启动并在/etc/rc.d/rc.local最后添加:arp -f即可

在windows机器上,编辑一个arp.bat放到启动里面,bat文本的内容:
@echo off  
arp -d  
arp -s 192.168.1.2 00-04-61-9A-8D-B2(网关的ip及mac地址)
exit

转载于:https://blog.51cto.com/redhatdebian/705822

ARP***绑定 linux/windows 下解决方案相关推荐

  1. windows 打包 python 然后linux执行_使用pyinstaller打包python源代码,成为linux/windows下可执行文件...

    pyinstaller,打包python源代码,成为linux/windows下可执行文件,多平台 下载:http://www.pyinstaller.org/static/ http://www.p ...

  2. linux系统arp绑定,Linux下ARP绑定

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 一.ARP协议简介 当主机上的需要发送一个数据到一个目的IP时,设备驱动程序并不能理解这个IP地址. 系统需要将IP地址 ...

  3. linux 服务器 iptables 防止arp病毒,linux环境下防arp解决方法

    方案二:arping 命令解决arp***(此发放貌似可以解决局域网中病毒的问题.但根本解决办法还是得找到局域网内中apr的机器.) 原文:我用的是fedora core 6,我先把几个镜像文件挂上, ...

  4. windows sftp linux,Windows 下的SFTP服务器配置

    一.概述 SFTP服务器,在Linux和Mac系统中是自带的.windows下需要安装freeSSHd进行实现. 二.配置步骤 2.1 下载freeSSHd.exe 2.2 安装一直下一步.(弹出图中 ...

  5. 30天精通Python(数据分析篇)——第1天:环境搭建之 Linux/Windows 下安装 Anaconda 和 Windows 下安装 DataSpell

    目录 一.Linux 下安装 Anaconda 二.Jupyter Notebook 配置 三.Windows 下安装 DataSpell 3.1 DataSpell 介绍 3.2 DataSpell ...

  6. windows 连Linux,Windows下访问Linux资源

    Windows下访问Linux资源 在Red Hat Linux中,借助Samba服务在Windows下访问Linux的资源也是很容易的,依次单击"主菜单" "系统设置& ...

  7. windows7 telnet linux,Windows下通过Telnet连接linux

    <Windows下通过Telnet连接linux>由会员分享,可在线阅读,更多相关<Windows下通过Telnet连接linux(1页珍藏版)>请在人人文库网上搜索. 1.W ...

  8. linux/windows下安装scala

    为什么80%的码农都做不了架构师?>>>    一.linux下安装scala 1.保证jdk安装成功,版本在1.5或者更改版本,java和javac均可用. 2.官网下载scala ...

  9. linux非权限安装bioperl,BioPerl安装指南:Unix/Linux/Windows下的安装

    其实BioPerl的功能很强大.但是用的人却不多.最根本的原因可能是,太多数人都还是新手,相对而言Perl很难懂,不懂Perl的人根本搞不懂BioPerl.而且BioPerl安装也很复杂.又不像Per ...

最新文章

  1. 什么是人工神经网络?
  2. 国内整车厂“造芯”还缺什么?
  3. 那些对程序员来说伤害性不高但是侮辱性极强的瞬间…
  4. Oracle EXP-00091解决方法
  5. boost::container模块实现检查相等的容器的测试程序
  6. WebBrowser的Cookie操作(与CookieContainer的关系)
  7. 史上最“可怕”的数学科普,能全都看懂的只有天才!
  8. python给定起始和结束日期,如何得到中间所有日期
  9. 是不正确的python语句_Python if语句读取不正确
  10. mac安装thrift
  11. 216.组合总和III
  12. SQL Server 2012下载及安装教程
  13. 基于python的网易云音乐下载器
  14. php tp框架教程,从零开始了解thinkphp框架,tp框架基础教程
  15. 史上最全的vue.js源码解析(一)
  16. 颜色不透明度16进制对照表
  17. Struts1 面试题目总结
  18. 如何运营好一个微信公众号?
  19. 华为网络设备与基础配置
  20. 最新阿里巴巴面试题合集附带答案,答对70%你也可以进阿里(天猫+蚂蚁金服+阿里巴巴)

热门文章

  1. ORA-12638: 身份证明检索失败 解决方法
  2. 使用Sysmon和Splunk探测网络环境中横向渗透
  3. [转]看刚毕业MM如何在北京买房
  4. 初来乍到,发布一个杀手应用:snap.com的web预览图功能,我给它取名叫“WebSnap”...
  5. set在python中什么意思_python中set是什么意思
  6. left join 临时表_图解SQL的JOIN
  7. srwebsocket 服务器过段时间会关闭_王者荣耀:伽罗大招遭到暗改?开启后直接冷却时间,无法手动关闭...
  8. 是否可能通过无限增加卷积核的办法使网络性能无限提升?
  9. 用linux集成电路版图设计,集成电路版图设计教程2012版本
  10. php jquery点击事件,jQuery操作html元素点击事件详解