Сегодня настраивал маршрутизатор (pfsense) для подсоединения офисной сетки через нового интернет-провайдера. Казалось бы, задачка элементарная, что там может быть сложного..
Но я, как обычно, наступил на загадочные грабли:
1) Настроил DHCP-сервер, для проверки подключил свой ноутбук, посмотрел ifconfig’ом, вроде адрес нормальный выдался, но в интернеты ходить почему-то не получается.
Traceroute вообще никуда не доходит, даже до pfsense’а.
Запустил ip route show
, и офигел: default route
почему-то не в этот pfsense, а в какой-то совершенно другой IP, которого в этой сетке вообще нету..
А ip address show
показал, что на eth0 кроме адреса, выданного pfsense’ом, есть ещё один, из той сетки, где этот непонятный default gateway
..
Попробовал повыключать-повключать eth0, ничего не поменялось. Ну, то есть, когда выключал, все адреса и маршруты пропадали, а когда обратно включал – появлялись те же два адреса, и default route в тот же несуществующий gateway.
Посмотрел в /etc/network/interfaces
– там ничего нету. Запустил гномовский конфигуратор NetworkManager
‘а – там всё настроено чисто по DHCP, никаких дополнительных адресов нету.
Решил поискать, где оно ещё может быть – запустил в /etc
grep
того загадочного IP, и.. он нашёлся в /etc/NetworkManager/system-connections/Wired connection 1
:
[ipv4]
method=auto
address1=10.12.1.38/24,10.12.1.1
Но в гномовском сетевом конфигураторе ничего подобного почему-то не видно.. А если уж Network Manager
взял из этого конфига статический адрес и gateway, так какого ж хрена он на тот же интерфейс прицепил ещё и DHCP’шный адрес??
Короче, удалил нафиг этот address1
, всё заработало..
2) Потом стал настраивать IPsec’овые VPN’ы в datacentre’ы и в другие офисы, а тут в старом маршрутизаторе, который через прежнего провайдера подключён, почему-то отвалился один VPN. Проверил настройки с обеих сторон, всё одинаковое, ничего не поменялось, а VPN никак не поднимается. Посмотрел в логи, а там какая-то очень странная ошибка. Погуглил, пишут, что такая ошибка обычно вызывается несовпадающими настройками negotiation mode с двух сторон. Проверил – они с обеих сторон aggressive. Поменял на main, и всё заработало. Но ведь этот aggressive там много лет был, и никаких проблем не вызывал..
3) Продолжал настраивать VPNы, большинство успешно работало, а вот один очень странно не работал. Запустил со своего ноутбука ssh на сервер с другой стороны этого VPN’а, а он не подключается, отваливается по таймауту.
При этом на этой стороне VPN выглядит включённым, а на той стороне – выключенным.. Зашёл на тот сервер с другой машины, запустил там tcpdump
– вижу, приходят TCP-SYN
пакеты с моего ноутбука. И TCP-ACK
‘и обратно уходят, но до ноутбука почему-то не доходят. Проверил маршрутизацию – вроде всё правильно. Запустил tcpdump
на маршрутизаторе с той стороны VPN’а, и офигел.. На LAN
-интерфейсе em1
, к которому тот сервер подключён, все пакеты видны – и входящие, и исходящие. А вот на VPN’ном enc0
– только входящие. То есть, получается, что VPN включён, но работает только в одну сторону. Как такое может быть – полная загадка.. Эти грабли, в отличие от предыдущих, обойти пока не удалось.
Оригинал этой записи в личном блоге.