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 192.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が有効になっていると正しく動作するようです。しかしそれは真実ではない。
別の設定は
ㅏ:
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では、192.168.1.105にpingを送信できますが、サブネットで有効になっている192.168.1.120にはpingを送信できません。 tun0 は ping を受信しますが、eth0 は受信しません。