Linux DHCP 下自定义路由和网关

主机IP必须通过DHCP获得,但是因故需要重新指定网关并做策略路由。例如主机DHCP获取IP段192.168.1.0/24,DHCP获取网关192.168.1.1,拟将默认路由改为192.168.1.2,本地IP仍然走网关192.168.1.1

RHEL(CentOS) 6/7

/etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
NM_CONTROLLED="no"
ONBOOT=yes
GATEWAY=192.168.1.2
……

/etc/sysconfig/network-scripts/route-eth0
192.168.0.0/16 via 192.168.1.1

/etc/sysconfig/network
NETWORKING=yes
……

Debian 7

/etc/network/interfaces
……
up route del default dev eth0
up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
up route add default gw 192.168.1.2 dev eth0
……

Suse 11

/etc/sysconfig/network/routes
……
192.168.0.0 192.168.1.1 255.255.0.0 eth0
default 192.168.1.2 - -

 

使用 DHCP Snooping 和 DAI 防止ARP攻击和私设IP地址

  使用DHCP Snooping防止私设DHCP Server并获得MAC-IP-端口绑定表,使用DAI对所有的ARP包进行检查。Cisco 6500做核心无需特别的配置,在接入交换机3560上做如下配置:
!
ip dhcp snooping vlan 5-10
//在5-10这些vlan上使用DHCP Snooping
no ip dhcp snooping information option
ip dhcp snooping database flash:dhcp-snooping.db

//保存DHCP Snooping的绑定表,否则交换机重启将丢失绑定表
ip dhcp snooping //开启DHCP Snooping
ip arp inspection vlan 5-10
//在5-10这些vlan上使用Dynamic ARP Inspection
ip arp inspection validate src-mac dst-mac ip
//检查ARP包的源MAC、目标MAC、IP地址是否符合DHCP Snooping的绑定表
ip arp inspection log-buffer entries 1024 //DAI的日志缓冲区
ip arp inspection log-buffer logs 1 interval 60
//设置每60s产生一条DAI日志,否则DAI会每发现一个非法ARP就产生一条日志,syslog信息就太多了,这样的话DAI会自动合并一样的日志
!
errdisable recovery cause arp-inspection

//打开因arp-inspection引起err-disabled的自动恢复
errdisable recovery interval 60 //设置自动恢复延时为60s
!
interface FastEthernet0/1
//这个是接下面计算机的端口
switchport access vlan 7
switchport mode access
ip arp inspection limit rate 30

//设置每秒最多接收30个ARP包,超过则进入err-disabled状态(原因为arp-inspection)。默认为15pps,实际使用发现有点低。
ip dhcp snooping limit rate 100 //同上类似
!
interface GigabitEthernet0/1
//上联6500或级联端口,配置一样
switchport trunk encapsulation dot1q
switchport mode trunk
ip arp inspection trust
//设置DAI信任,不检查ARP包
ip dhcp snooping trust //设置DHCP Snooping信任,不检查DHCP包
!