Изменение IP-адреса с помощью ядра .net в Linux - PullRequest
1 голос
/ 01 мая 2019

Есть ли способ использовать код ядра .net для изменения конфигурации сети (IP-адрес, маска, шлюз по умолчанию, DNS, DHCP) В операционной системе Linux? (Я использую Ubuntu 18.4.2 LTS)

Я могу в некоторой степени использовать следующие библиотеки:

System.Net
System.Net.NetworkInformation

https://docs.microsoft.com/en-us/dotnet/api/system.net?view=netcore-2.2

используя их, я могу получить информацию о сети (IP и шлюз извлекаются правильно, информация DNS всегда «127.0.0.53», а информация DHCP не поддерживается в Linux), но я не могу найти в документации .net, как установить / изменить сетевую конфигурацию, такую ​​как IP-адрес, шлюз и т. д.

1 Ответ

0 голосов
/ 02 мая 2019

Насколько я знаю, нет встроенного способа сделать это с помощью .NET Core Framework. И ИМХО никогда не будет.

Но, конечно, вы можете сделать это с помощью системных команд. Вы можете использовать ProcessStartInfo и затем вызывать эти (и любые другие) команды.

ifconfig eth0 192.168.66.6 netmask 255.255.255.0 up
route add default gw 192.168.1.1
...

Конечно, ваш процесс должен работать от имени суперпользователя.

...