Как соединить сетевые интерфейсы в Debian/kFreeBSD
У меня возникли проблемы с поиском способа соединения сетевых интерфейсов в Debian/kFreeBSD.
Моя основная задача - создать 2 - 4 интерфейса и соединить их двумя физическими интерфейсами.
Синтаксис в /etc/network/interfaces немного отличается от версии для Linux.
В настоящее время я использую следующее (на Linux Debian)
(только частичный вывод)
auto tap0
iface tap0 inet manual
pre-up openvpn --mktun --dev tap0
post-down openvpn --rmtun --dev tap0
auto tap1
iface tap1 inet manual
pre-up openvpn --mktun --dev tap1
post-down openvpn --rmtun --dev tap1
auto br0
iface br0 inet static
bridge_ports tap0 tap1 eth1 eth2
address 10.20.30.40
netmask 255.255.255.0
Каково было бы нормальное решение, так как openvpn на FreeBSD создает устройство, только если ОДИН пользователь подключается?
я скучаю по чему-то вроде /etc/rc.conf
cloned_interfaces="bridge0"
ifconfig_bridge0="addm re0 up"
openvpn_if="tap bridge"
Моей общей целью было бы перейти с Debian Linux на Debian kFreeBSD, но сначала мне нужно разобраться с некоторыми вещами.
(Причины моего изменения - PF (ведь я нахожу, что его гораздо проще использовать, чем iptables) и нативная ZFS), но вы можете убедить другие подходы (необходима BIG FS, а btrfs недостаточно стабилен)
1 ответ
Сетевые компоненты Debian/kFreeBSD являются функциями ядра FreeBSD и, следовательно, следуют принципу FreeBSD.
Чтобы создать туннельный интерфейс во FreeBSD, вы просто используете:
ifconfig tun0 create
ifconfig tun0 tunnel <source IP> <destination IP>
ifconfig tun0 up
И вы, вероятно, добавили несколько инструкций по маршруту, чтобы использовать этот туннель.
Но вы, кажется, используете OpenVPN. Интересно, если бы конфигурация OpenVPN не смогла установить для вас этот интерфейс tun0, как это имеет место во FreeBSD. Например, одна из моих конфигураций OpenVPN на сервере FreeBSD содержит следующие строки инструкций:
# Run in point to point mode
mode p2p
# Other endpoint
remote <the remote ip or host>
local <your ip>
# Network config
dev-type tun
dev tun0
ifconfig <my local 10.x address> <the remote 10.x local adress>
Для некоторых расширенных настроек туннелей, таких как туннели IPv4->IPv6, существует более продвинутый драйвер, называемый gif0. Вот образец:
ifconfig gif0 create
ifconfig gif0 tunnel <your server> <the destination server ipv4>
ifconfig gif0 inet6 <the main ipv6 address>
route -n add -inet6 default <the ipv6 routing address>
ifconfig gif0 up