我有树莓派盒子连接到家庭 WiFi 路由器并运行pptpd
。本地地址为192.168.1.32
(eth0) 和192.168.2.1
(ppp0),本地名称为raspberry.local
。
我有iMac192.168.1.27
使用本地 IP和本地名称连接到同一路由器 imac.local
我有苹果笔记本互联网上的某个地方通过192.168.2.10
ppp0连接到 Raspberry 的 PPTP
这张图显示得更清楚。
pptpd 配置
Raspberry 上的 PPTP 是从这个简单的脚本。
/etc/pptpd.conf
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.2.1
remoteip 192.168.2.10-100
/etc/ppp/options.pptpd
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
/etc/rc.local
…
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT
iptables -I INPUT --protocol 47 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 0.0.0.0/0 -o eth0 -j MASQUERADE
iptables -I FORWARD -s 192.168.2.0/24 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356
…
当前连接
苹果笔记本- 可以连接家里的PPTP,通过家里的路由器连接互联网
- 可以通过本地 IP 连接到 iMac 和 Raspberry
192.168.1.27
,并且192.168.1.32
- 能不是解决
raspberry.local
和imac.local
- 可以通过本地 IP 连接到 iMac 和 Macbook,
192.168.1.27
并且192.168.2.10
- 可以解决
imac.local
- 能不是解决
macbook.local
- 可以通过本地 IP 连接到 Raspberry
192.168.1.32
- 可以解决
raspberry.local
- 能不是通过本地 IP 连接到 Macbook
192.168.2.10
(更新:通过在路由器上添加静态路由解决) - 能不是解决
macbook.local
目标
目标是连接并解析任意本地名称。但我不知道如何配置它:iptables、avahi、netatalk 还是其他地方?
答案1
在 iptable 中使用 ip 地址是可以的。但是,也可以使用不涉及 IP 地址但引用 eth0 接口的语句。它确实从进程中删除了一个变量:iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
注意:要检查 iptables 在重启后是否处于活动状态:iptables -t nat -L
启用 iptables 的脚本从 /etc/network/interfaces 文件启动,可能略有不同。在撰写本文时,该行有 manual 而不是 dhcp。只需在该行后面输入脚本名称:iface eth0 inet manual
此外,openvpn.conf 中的 local ip_address 是可选的。如果没有定义,OpenVPN 将监听所有接口。同样,从流程中删除一个变量。
为了进一步减少变量,即获取一个可以在任何 Raspberry 上运行的 openvpn.conf,而无需参考 Raspberry 上使用的 IP,也可以使用 Google DNS 服务器,而不推送本地网络的路由。请注意,删除本地网络的路由意味着无法访问本地网络,但允许通过启动测试访问互联网:添加路由 / 本地快速 DNS后者对设置更加确定。