Я пытаюсь создать многосайтовую сеть, используя pfsense, связанный вместе с Tinc VPN. Это моя текущая топология:
Router A Router B
**************** ****************
* * * *
* 10.0.0.1/16 *--------* 10.1.0.1/16 *
* * * *
**************** ****************
| |
| |
**************** ****************
* * * *
* 10.0.0.11/16 * * 10.1.0.16/16 *
* * * *
**************** ****************
Node 1 My Desktop
Мой рабочий стол и оба маршрутизатора могут подключаться к любой машине в сети, но узел 1 может подключаться только к маршрутизатору A.
Маршрутизатор B в настоящее время находится за маршрутизатором Verizon с переадресацией порта VPN. Ссылка установлена. Хотя, я сомневаюсь, что это будет корень проблемы.
Я трижды проверил свои конфигурации pfsense, и они идентичны друг другу. Я действительно не уверен, что мешает узлу 1 общаться с остальной частью сети. Я практически все открыл. У меня есть какие-либо правила для всех интерфейсов, но узел 1 не может найти маршрут.
Если это важно, маршрутизатор A и узел 1 размещаются в облаке через Vultr. У меня включена частная сеть, и узел 1 запрашивает адреса у DHCP-сервера на маршрутизаторе A. Vultr назначает частные IP-адреса в пространстве 10.X.X.X той же подсети. Могут ли мои IP-адреса конфликтовать с их? Vultr не развертывает шлюз, и назначаемые им IP-адреса полностью статичны.
Вы можете использовать любые IP-адреса в частной сети. Мы назначаем один IP-адрес по умолчанию, но вы можете игнорировать его и использовать другие, если хотите.
Я действительно не знаю, почему узел 1 не может попасть в другую подсеть, и я надеюсь, что кто-то сможет помочь мне в этом разобраться.
10.1.0.16
bkvaluemeal@Formula:~$ ping -c 3 10.1.0.1
PING 10.1.0.1 (10.1.0.1) 56(84) bytes of data.
64 bytes from 10.1.0.1: icmp_seq=1 ttl=64 time=0.330 ms
64 bytes from 10.1.0.1: icmp_seq=2 ttl=64 time=0.319 ms
64 bytes from 10.1.0.1: icmp_seq=3 ttl=64 time=0.305 ms
--- 10.1.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.305/0.318/0.330/0.010 ms
bkvaluemeal@Formula:~$ ping -c 3 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=63 time=9.82 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=63 time=8.86 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=63 time=38.0 ms
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 8.864/18.925/38.085/13.553 ms
bkvaluemeal@Formula:~$ ping -c 3 10.0.0.11
PING 10.0.0.11 (10.0.0.11) 56(84) bytes of data.
64 bytes from 10.0.0.11: icmp_seq=1 ttl=62 time=11.5 ms
64 bytes from 10.0.0.11: icmp_seq=2 ttl=62 time=10.5 ms
64 bytes from 10.0.0.11: icmp_seq=3 ttl=62 time=9.37 ms
--- 10.0.0.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 9.370/10.482/11.555/0.892 ms
bkvaluemeal@Formula:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether e0:3f:49:ad:81:03 brd ff:ff:ff:ff:ff:ff
inet 10.1.0.16/16 brd 10.1.255.255 scope global dynamic eno1
valid_lft 6915sec preferred_lft 6915sec
inet6 fe80::20dc:2028:faee:5420/64 scope link
valid_lft forever preferred_lft forever
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 54:27:1e:55:ae:33 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.163/24 brd 192.168.1.255 scope global dynamic wlp3s0
valid_lft 76214sec preferred_lft 76214sec
inet6 fe80::d9de:6606:5307:968b/64 scope link
valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 52:54:00:d1:33:dd brd ff:ff:ff:ff:ff:ff
6: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:82:c6:99:06 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
10.1.0.1
PING 10.1.0.16 (10.1.0.16): 56 data bytes
64 bytes from 10.1.0.16: icmp_seq=0 ttl=64 time=0.177 ms
64 bytes from 10.1.0.16: icmp_seq=1 ttl=64 time=0.312 ms
64 bytes from 10.1.0.16: icmp_seq=2 ttl=64 time=0.194 ms
--- 10.1.0.16 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.177/0.228/0.312/0.060 ms
PING 10.0.0.1 (10.0.0.1): 56 data bytes
64 bytes from 10.0.0.1: icmp_seq=0 ttl=64 time=8.926 ms
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=8.335 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=8.290 ms
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 8.290/8.517/8.926/0.290 ms
PING 10.0.0.11 (10.0.0.11): 56 data bytes
64 bytes from 10.0.0.11: icmp_seq=0 ttl=63 time=11.052 ms
64 bytes from 10.0.0.11: icmp_seq=1 ttl=63 time=9.573 ms
64 bytes from 10.0.0.11: icmp_seq=2 ttl=63 time=9.913 ms
--- 10.0.0.11 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 9.573/10.179/11.052/0.632 ms
10.0.0.1
PING 10.1.0.16 (10.1.0.16): 56 data bytes
64 bytes from 10.1.0.16: icmp_seq=0 ttl=63 time=8.307 ms
64 bytes from 10.1.0.16: icmp_seq=1 ttl=63 time=9.256 ms
64 bytes from 10.1.0.16: icmp_seq=2 ttl=63 time=9.109 ms
--- 10.1.0.16 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 8.307/8.891/9.256/0.417 ms
PING 10.1.0.1 (10.1.0.1): 56 data bytes
64 bytes from 10.1.0.1: icmp_seq=0 ttl=64 time=8.618 ms
64 bytes from 10.1.0.1: icmp_seq=1 ttl=64 time=8.579 ms
64 bytes from 10.1.0.1: icmp_seq=2 ttl=64 time=8.702 ms
--- 10.1.0.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 8.579/8.633/8.702/0.051 ms
PING 10.0.0.11 (10.0.0.11): 56 data bytes
64 bytes from 10.0.0.11: icmp_seq=0 ttl=64 time=1.142 ms
64 bytes from 10.0.0.11: icmp_seq=1 ttl=64 time=2.385 ms
64 bytes from 10.0.0.11: icmp_seq=2 ttl=64 time=2.053 ms
--- 10.0.0.11 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.142/1.860/2.385/0.525 ms
10.0.0.11
root@node1:~# ping -c 3 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1 icmp_seq=1 ttl=64 time=1.10 ms
64 bytes from 10.0.0.1 icmp_seq=2 ttl=64 time=1.04 ms
64 bytes from 10.0.0.1 icmp_seq=3 ttl=64 time=0.749 ms
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 0.749/0.968/1.106/0.156 ms
root@node1:~# ping -c 3 10.1.0.1
PING 10.1.0.1 (10.1.0.1) 56(84) bytes of data.
--- 10.1.0.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2042ms
root@node1:~# ping -c 3 10.1.0.16
PING 10.1.0.16 (10.1.0.16) 56(84) bytes of data.
--- 10.1.0.16 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2048ms
root@node1:~# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether XX:XX:XX:XX:XX:XX brd XX:XX:XX:XX:XX:XX
inet 45.77.X.X/23 brd 45.77.X.X scope global ens3
valid_lft forever preferred_lft forever
inet6 2001:19f0:X:X:X:X:X:X/64 scope global mngtmpaddr dynamic
valid_lft 2591544sec preferred_lft 604344sec
inet6 fe80::5400:X:X:X/64 scope link
valid_lft forever preferred_lft forever
3: ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 5a:01:01:3c:13:c8 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.11/16 brd 10.0.255.255 scope global ens7
valid_lft forever preferred_lft forever
inet6 fe80::5801:1ff:fe3c:13c8/64 scope link
valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:65:df:2f:a1 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:65ff:fedf:2fa1/64 scope link
valid_lft forever preferred_lft forever
Маршрутизатор А NAT-сопоставление
Плавающие правила межсетевого экрана
Правила межсетевого экрана WAN
"звук идет с одной стороны, Рабочий стол -> Узел 1 но не при запуске из Node1 -> Рабочий стол"- Это утверждение, если оно является точным, исключает все возможности проблемы с маршрутизацией.
Чтобы ping работал с рабочего стола-> Node1, вы также должны получить ответ от Node1-> Desktop. Это означает, что все в порядке с VPN и маршрутизацией.
Вместо этого это проблема брандмауэра. Поскольку эхо-запрос от Node1 сбрасывается на маршрутизаторе B, но маршрутизатор B может проверять связь с рабочим столом, проблема брандмауэра, вероятно, связана с маршрутизатором B. Маршрутизатор B разрешает исходящие и «связанные» соединения, но не разрешает входящие соединения.
Основываясь на информации, которую вы разместили, я бы сказал, что это связано с тем, что вы назвали «Правилами локальной сети межсетевого экрана». Измените его на ANY / ANY / ANY / ANY (или что угодно) для тестирования. Правила брандмауэра неоднозначны, поэтому я не могу сказать так или иначе.
РЕДАКТИРОВАТЬ:
Мы обнаружили, что у узла 1 было два сетевых интерфейса. Один в «частной сети» с IP 10.0.0.11, а другой с общедоступным IP-адресом И шлюзом по умолчанию. Кроме того, правила NAT заставляли трафик переходить через NAT через туннель VPN. Таким образом, Desktop может успешно выполнить PING Node 1, поскольку трафик, поступающий на Node 1, по-видимому, исходит от 10.0.0.1. Но при попытке выполнить PING Desktop с Node1 у Node1 не было маршрута к 10.1.0.0/16.
После того, как мы очистили таблицу маршрутизации на узле Node1 и установили автоматические правила NAT на маршрутизаторах A и B, все заработало, как задумано.