Eu tenho que usar o dispositivo, eth0 192.168.8.178/22, tun0 10.0.0.2/24
Espero que a partir de 10.0.0.1 (outro host) possa acessar 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
Eu pensei em adicionar uma regra de tun0 e rotear 192.168.8.0/22 para eth0 gw 192.168.8.1 pode achá-lo, mas não funciona.
$ 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
Eu posso capturar o icmp do tun0
$ 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
mas nada na 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
Como posso conseguir isso?
tun0 é para tinc, eu quero expor 192.168.8.0/22 throght neste nó, 192.168.8.178 é acessível de outro nó.
$ 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
EDITAR
A verdadeira questão deve ser "Como compartilhar a rede local sobre o tinc".
Eu pensei com ip_forward habilitado, isso deve funcionar. mas não é.
A outra configuração é
A:
ip link set $INTERFACE up
ip addr add 192.168.100.1/16 dev $INTERFACE
Subnet=192.168.100.1/32
B:
ip link set $INTERFACE up
ip addr add 192.168.1.105/16 dev $INTERFACE
Subnet = 192.168.1.0/24
De um nó, eu posso pingar 192.168.1.105, mas não posso pingar 192.168.1.120, que está vivo na sub-rede. tun0 tem o ping, mas eth0 não pega o ping.
Tags networking vpn routing linux iproute