Позавчера попробовал поставить у себя на десктопе в virtualbox’е виртуальную машинку с pfsense’ом, чтобы проверить, где он глючит. Но скопировать оригинальный диск с VMware’ного сервера не удалось — типа, ошибка случилась. Непонятно какая.. Короче, пришлось установить заново с нуля, и скопировать туда конфиг с той рабочей машинки.
Pfsense’овые WAN и LAN прикрутил к виртуальным host-only сеткам, чтоб можно было туда зайти с десктопа. Зашёл и по ssh, и через веб, стал менять настройки VPNов.
Дефектов в config.xml не случилось, но некоторые изменения почему-то внезапно вызывали перезагрузку машины.. Хотя после перезагрузок она нормально читала свой конфиг и успешно запускалась.
А вчера начальник предложил проапгрейдить этот тестовый pfsense до свежей версии, чтобы проверить, будет ли и там глючить. Но для этого виртуальную машинку нужно было прицепить к интернетам, чтоб она скачала себе новую прошивку. Казалось бы, это элементарно, но.. как всегда, встретились грабли.
Первым делом попробовал на десктопе прикрутить NAT через eth0 к тому host-only интерфейсу vboxnet0, на котором у десктопа как раз и был адрес gateway, использовавшийся pfsense’ом. Но почему-то не сработало. Похоже, эти vboxnet’ы управляются только virtualbox’ом, а нормальные сетевые утилиты на них не работают.
Потом попробовал соединить в бридж pfsense’овый WAN с десктопным eth0. Это, естественно, тоже не сработало, потому что у pfsense’а там был статический публичный адрес из своей сети, и она использовала в качестве gateway адрес из той же сети, которого в местной сетке вовсе не было.
Ну, отключил там на WAN статический адрес, включил DHCP, pfsense получил адрес из местной сетки и правильный gateway, но.. почему-то всё равно никуда соединиться не мог. Запустил tcpdump, и оказалось, что несмотря на полученный по DHCP адрес, pfsense почему-то отправлял пакеты наружу со своего публичного CARP-адреса, который тоже был из той же публичной сети, потому он в местной сетке не работал: пакеты наружу не проходили, но даже если б прошли, ответы бы всё равно не вернулись.
Попробовал выключить в pfsense этот CARP-адрес, а не дают — типа, он используется в настройках многих VPN’ов, поэтому нельзя его удалить..
Выходит, надо использовать тот статический адрес и NAT’ить его самим virtualbox’ом. Вернул адрес, прицепил WAN к virtulabox’овому NAT, — тоже не работает. Кажись, virtualbox там свои адреса использует, из 192.168..
Тогда создал в virtualbox’е отдельную NAT Network, явно приписав туда сетку, которую использовал pfsense, и на стороне сервера приделал туда адрес gateway. А фиг, всё равно наружу не ходит, и даже этот gateway не пингается, хотя он там точно должен быть.
Долго думал, как бы всё же организовать связь с интернетами. Разве что поставить туда ещё одну виртуальную машинку в качестве gateway, и на ней организовать NAT.. Но приделывать к маршрутизатору дополнительный маршрутизатор — это ж бред..
В конце концов грабли удалось обойти следующим образом:
( Read the rest of this entry » )Оригинал этой записи в личном блоге.