代理 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