1. SoftEther — это многофункциональный VPN-сервер, который поддерживает различные протоколы. Он также может быть настроен для работы в локальной сети и позволяет скрывать IP-адреса.
2. Squid — это прокси-сервер, который может быть установлен на одном из компьютеров в сети. Он позволяет перенаправлять трафик через себя и скрывать реальные IP-адреса других устройств.
3. Данный код на python и скрывает/изменяет локальный ip адрес на твоем компьютере только или где запущен данный скрипт. по нажатии на клавишу q выход и возвращает обратно в режим DHCP 
в строчке кода замени на свое название то что в кавычках - interface = "Ethernet"
для его использования установить на своем домашнем компьютере Python и установить библиотеку keyboard, чтобы потом для рабочего места сделать с помощью pyinstaller чтобы не ставить там python. 
import ipaddress
import random
import time
import subprocess
import platform
import keyboard  # pip install keyboard
import re
class IPAddressManager:
    """Класс для управления и скрытия IP-адресов в локальной сети."""
    def __init__(self, interface: str):
        self.interface = interface
        self.original_ip = self._get_current_ip()
        self.hidden_ip = None
    def _get_current_ip(self) -> str:
        """Получить текущий IP-адрес интерфейса."""
        try:
            if platform.system() == "Windows":
                output = subprocess.check_output(
                    "ipconfig", shell=True, stderr=subprocess.DEVNULL, universal_newlines=True)
                pattern = re.compile(
                    rf"{self.interface}.*?IPv4.*?:\s*(\d+\.\d+\.\d+\.\d+)", re.DOTALL)
                match = pattern.search(output)
                if match:
                    return match.group(1)
                raise ValueError(
                    f"IP-адрес для интерфейса {self.interface} не найден")
            else:  # Linux и macOS
                output = subprocess.check_output(
                    f"ifconfig {self.interface}", shell=True, universal_newlines=True)
                match = re.search(r"inet (\d+\.\d+\.\d+\.\d+)", output)
                if match:
                    return match.group(1)
                raise ValueError(
                    f"IP-адрес для интерфейса {self.interface} не найден")
        except subprocess.CalledProcessError as e:
            raise RuntimeError(f"Ошибка при выполнении команды: {e}")
    def hide_ip(self) -> None:
        """Скрыть IP-адрес, изменив его на случайный в той же подсети."""
        current_ip = ipaddress.ip_address(self.original_ip)
        network = ipaddress.ip_network(f"{current_ip}/24", strict=False)
        while True:
            new_ip = ipaddress.ip_address(random.randint(
                int(network.network_address) + 1, int(network.broadcast_address) - 1))
            if new_ip != current_ip:
                self.hidden_ip = str(new_ip)
                break
        self._change_ip(self.hidden_ip)
    def restore_ip(self) -> None:
        """Восстановить оригинальный IP-адрес."""
        if self.hidden_ip:
            self._change_ip(self.original_ip)
            self.hidden_ip = None
    def _change_ip(self, new_ip: str) -> None:
        """Изменить IP-адрес интерфейса."""
        try:
            if platform.system() == "Windows":
                subprocess.run(f'netsh interface ip set address name="{self.interface}" static {new_ip} 255.255.255.0',
                               shell=True, check=True, stderr=subprocess.DEVNULL)
            else:  # Linux и macOS
                subprocess.run(f"sudo ifconfig {self.interface} {new_ip} netmask 255.255.255.0",
                               shell=True, check=True, stderr=subprocess.DEVNULL)
        except subprocess.CalledProcessError as e:
            raise RuntimeError(
                f"Не удалось изменить IP-адрес на {new_ip}. Ошибка: {e}")
    def restore_dhcp(self) -> None:
        """Восстановить автоматическое получение IP-адреса (DHCP)."""
        try:
            if platform.system() == "Windows":
                subprocess.run(
                    f'netsh interface ip set address name="{
                        self.interface}" source=dhcp',
                    shell=True, check=True, stderr=subprocess.DEVNULL
                )
                print(f"Интерфейс {
                      self.interface} успешно переведен в режим DHCP")
            else:  # Linux и macOS
                subprocess.run(
                    f"sudo dhclient -r {self.interface} && sudo dhclient {self.interface}",
                    shell=True, check=True, stderr=subprocess.DEVNULL
                )
                print(f"Интерфейс {
                      self.interface} успешно переведен в режим DHCP")
        except subprocess.CalledProcessError as e:
            print(f"Ошибка при восстановлении DHCP: {e}")
    def run(self) -> None:
        """Запустить процесс скрытия IP-адреса."""
        print(f"Начальный IP-адрес: {self.original_ip}")
        self.hide_ip()
        print(f"IP-адрес скрыт. Новый адрес: {self.hidden_ip}")
        print("Нажмите 'q' для выхода и восстановления автоматического получения IP.")
        while True:
            if keyboard.is_pressed('q'):
                break
            time.sleep(0.1)
        self.restore_dhcp()
        print("Программа завершена. DHCP восстановлен.")
if __name__ == "__main__":
    try:
        interface = "Ethernet"  # Тут замени на имя твоего сетевого интерфейса - так как я делал это все на своем компе
        manager = IPAddressManager(interface)
        manager.run()
    except Exception as e:
        print(f"Произошла ошибка: {e}")