- 论坛徽章:
- 0
|
设置代理ARP(Debian)
网络拓扑图
包传递过程
mojave发送数据包
对于192.168.128.0~15的数据包,由eth0发送;192.168.128.16~31的数据包由eth1发送。
Mojave接受数据包
对于来自eth0的局域数据包,如果目的地不是0~15地址段的则在eth1伪装源数据包的MAC地址寻找该主机并发送源数据包,找到后伪装找到的主机的MAC地址向发送源数据包的主机发送回复的数据包。
由renard和cocteau的角度看数据包的流向
mojave、renard和cocteau似在同一个局域网。
配置
以debian sarge为例
文件:/etc/network/interfaces
...
iface eth0
inet static
address
192.168.128.1
netmask
255.255.255.0
network
192.168.128.0
broadcast
192.168.128.255
up
/data/configs/hellnet/proxyarp.sh
auto eth1
iface eth1
inet static
address
192.168.128.1
netmask
255.255.255.0
network
192.168.128.0
broadcast
192.168.128.255
up
/data/configs/hellnet/proxyarp.sh
...
文件/data/configs/hellnet/proxyarp.sh
#!/bin/bash
.
/data/configs/hellnet/rc
SYSCTL=/sbin/sysctl
IFACES="eth0
eth1"
j=0
for iface in
$IFACES;do
$SYSCTL
-w net/ipv4/conf/$iface/proxy_arp=1
route
del -net $HELLNET_NETWORK netmask $HELLNET_NETMASK dev $iface
route
add -net ${HELLNET_NETWORK_PFX}$j netmask 255.255.255.240 dev $iface
j=$((
$j + 16 ))
done &>
/dev/null
文件/data/configs/hellnet/rc
HELLNET_NETWORK=192.168.128.0
HELLNET_NETWORK_PFX=192.168.128.
HELLNET_NETMASK=255.255.255.0
防火墙等其他问题
Netfilter的filter
table中FORWARD
chain对包的转发有影响——首先要打开ipv4的forward功能(用sysctl)net.ipv4.ip_forward=1然后适当配置netfilter让该过去的包过去。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/8057/showart_217926.html |
|