Служба настройки для запуска программного обеспечения

Мне удалось добиться этого с помощью следующего nftablesнабора правил (Мне пришлось собирать nftиз исходного кода, поскольку версия 0.5, поставляемая с Ubuntu 16.04, не поддерживает искажение полей пакета):

table ip mytable {
        chain prerouting {
                type filter hook prerouting priority -300; policy accept;
                iifname "eno2.11" ip saddr 192.168.0.222 ip saddr set 192.168.101.222
                iifname "eno2.12" ip saddr 192.168.0.222 ip saddr set 192.168.102.222
                iifname "eno2.13" ip saddr 192.168.0.222 ip saddr set 192.168.103.222
        }

        chain output {
                type filter hook output priority -300; policy accept;
                ip daddr 192.168.101.222 ip daddr set 192.168.0.222
                ip daddr 192.168.102.222 ip daddr set 192.168.0.222
                ip daddr 192.168.103.222 ip daddr set 192.168.0.222
        }
}

и следующие записи в/etc/network/interfaces:

auto eno2 # For switch management interface
iface eno2 inet static
  address 192.168.2.2/24

auto eno2.11
iface eno2.11 inet static
  address 192.168.101.1
  netmask 255.255.255.0

auto eno2.12
iface eno2.12 inet static
  address 192.168.102.1
  netmask 255.255.255.0

auto eno2.13
iface eno2.13 inet static
  address 192.168.103.1
  netmask 255.255.255.0

Это не "распутывает" исходный IP-адрес исходящих пакетов, т.е. гаджеты по-прежнему видят запросы от сервера как исходящие от 192.168.101.1, 192.168.102.1и т. д., а не192.168.0.1-в моем приложении это не имеет значения но это, вероятно, можно решить с помощью дополнительных правил в цепочке output.

0
31.07.2020, 21:04
1 ответ

gvfs — это точка монтирования FUSE. Поскольку файловые системы FUSE не реализуются кодом ядра, root не имеет доступа автоматически. Это зависит от приложения FUSE.

Если приложению не нужны привилегии суперпользователя, может помочь его запуск под UID 1000.

0
18.03.2021, 23:15

Теги

Похожие вопросы