用linux 机器配置网关且绑定ip和mac地址防止arp攻击

最近一段时间为一个项目做项目实施,其中涉及到了使用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命令,打开规则配置文件,按照下面给出的配置文件模板进行设置:

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
#new add
-A INPUT -i eth0 -j ACCEPT
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
#new add
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
#new add
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#增加到这个表的内网ip才能上网
-A POSTROUTING -s 10.0.0.102 -o eth1 -j MASQUERADE
-A POSTROUTING -s 10.0.0.254 -o eth1 -j MASQUERADE
-A POSTROUTING -s 10.0.0.19 -o eth1 -j MASQUERADE
-A POSTROUTING -s 10.0.0.233 -o eth1 -j MASQUERADE
COMMIT
# 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值