代理 ARP 作为桥接的替代方案
示例:代理 ARP 作为桥接的替代方案
如果希望远程节点看起来像是在本地 LAN 上(即,拥有本地 LAN 子网内的 IP 地址),则可以在本地节点设置网桥,如桥接示例中所述。但是,设置网桥相当复杂,如果只需要单播 IP 流量即可工作,而不需要广播或非 IP 流量,则可以使用操作系统的代理 ARP功能。
由于我们只使用单播 IP 流量,因此代理 ARP 可在路由器和交换机模式下工作。
概述
网络设置如下:
办公室局域网,接口 eth0 上的局域网使用范围 192.168.1.0/24。办公室节点使用地址 192.168.1.2。
公路战士,使用地址 192.168.1.123。
办公室的 tinc 配置
host# cat /etc/tinc/vpn/tinc.conf
Name = office
#Optional:
#Mode = switch
host# cat /etc/tinc/vpn/tinc-up
#!/bin/sh
ifconfig $INTERFACE 192.168.1.2 netmask 255.255.255.255
route add 192.168.1.123 dev $INTERFACE
echo 1 >/proc/sys/net/ipv4/conf/eth0/proxy_arp
echo 1 >/proc/sys/net/ipv4/conf/$INTERFACE/proxy_arp
host# ls /etc/tinc/vpn/hosts
office roadwarrior ...
host# cat /etc/tinc/vpn/hosts/office
Address = 123.234.123.42
Subnet = 192.168.1.0/24
-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----
host# cat /etc/tinc/vpn/hosts/roadwarrior
Subnet = 192.168.1.123
-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----
道路战士的 tinc 配置
host# cat /etc/tinc/vpn/tinc.conf
Name = roadwarrior
ConnectTo = office
#Optional:
#Mode = switch
host# cat /etc/tinc/vpn/tinc-up
#!/bin/sh
ifconfig $INTERFACE 192.168.1.123 netmask 255.255.255.0
当然,主机配置文件与办公节点上的配置文件相同。
自动添加路线
在上面的配置中,tinc-up办公室节点的脚本已硬编码了到 roadwarrior 地址的路由。要让 tinc 自动添加必要的路由,请 route add从tinc-up 脚本中删除该命令,并添加此subnet-up脚本:
host# cat /etc/tinc/vpn/subnet-up
#!/bin/sh
[ "$NAME" = "$NODE" ] && exit 0
ip route replace $SUBNET dev $INTERFACE
上一篇: 重定向网关
下一篇: 伪装防火墙上的 tinc