如何通过tinc共享本地网络?

如何通过tinc共享本地网络?

我必须设备,eth0 192.168.8.178/22,tun0 10.0.0.2/24

我希望从10.0.0.1(另一台主机)可以访问192.168.8.178/22。

$ ip -4 addr show eth0
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.8.178/22 scope global eth0
    valid_lft forever preferred_lft forever

$ ip -4 addr show tun0
33: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 500
    inet 10.0.0.2/24 scope global tun0
    valid_lft forever preferred_lft forever

我认为添加一条从 tun0 和路由 192.168.8.0/22 到 eth0 gw 1​​92.168.8.1 的规则可以实现此目的,但它不起作用。

$ ip ro
default via 192.168.8.1 dev eth0
10.0.0.0/24 dev tun0 proto kernel scope link src 10.0.0.2
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
192.168.8.0/22 dev eth0 proto kernel scope link src 192.168.8.178

$ ip ru show tab tm
32765:  from 10.0.0.0/22 iif tun0 lookup tm

$ ip ro show tab tm
192.168.8.0/22 via 192.168.8.1 dev eth0

我可以从 tun0 捕获 icmp

$ tcpdump -nni tun0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
17:54:44.773931 IP 10.0.0.1 > 192.168.8.110: ICMP echo request, id 14222, seq 416, length 64
17:54:45.783634 IP 10.0.0.1 > 192.168.8.110: ICMP echo request, id 14222, seq 417, length 64

但 eth0 中没有任何内容

$ tcpdump -nni eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

我怎样才能做到这一点?

tun0用于tinc,我想通过这个节点公开192.168.8.0/22,192.168.8.178可以从其他节点访问。

$ tcpdump -nni tun0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
17:57:12.453450 IP 10.0.0.1 > 192.168.8.178: ICMP echo request, id 14223, seq 5, length 64
17:57:12.453491 IP 192.168.8.178 > 10.0.0.1: ICMP echo reply, id 14223, seq 5, length 64
17:57:13.454498 IP 10.0.0.1 > 192.168.8.178: ICMP echo request, id 14223, seq 6, length 64
17:57:13.454537 IP 192.168.8.178 > 10.0.0.1: ICMP echo reply, id 14223, seq 6, length 64

编辑

真正的问题应该是“如何通过tinc共享本地网络”。

我认为启用 ip_forward 后,这应该可以正常工作。但事实并非如此。

另一个设置是

A:

ip link set $INTERFACE up
ip addr add 192.168.100.1/16 dev $INTERFACE

Subnet=192.168.100.1/32

乙:

ip link set $INTERFACE up
ip addr add 192.168.1.105/16 dev $INTERFACE

Subnet = 192.168.1.0/24

从 A 节点,我可以 ping 通 192.168.1.105,但无法 ping 通子网中处于活动状态的 192.168.1.120。 tun0 收到 ping,但 eth0 未收到 ping。

相关内容