SOCKS5-прокси основным шлюзом в Debian 11

Ответить
ya
^-^
Сообщения: 2673
Зарегистрирован: 16 дек 2021, 19:56

SOCKS5-прокси основным шлюзом в Debian 11

Сообщение ya »

Чтобы сделать SOCKS5-прокси основным шлюзом в Debian 11, нужно настроить маршрутизацию и использовать инструменты, такие как `iptables` и `redsocks` или `proxychains`. Вот общий порядок действий:

### 1. Установите необходимые пакеты
```bash

Код: Выделить всё

sudo apt update
sudo apt install redsocks iptables-persistent
```

### 2. Настройте redsocks
Редактируйте файл `/etc/redsocks.conf`, например:

```bash

Код: Выделить всё

sudo nano /etc/redsocks.conf
```

Пример конфигурации:
```conf

Код: Выделить всё

base {
    log_info = on;
    log = /var/log/redsocks.log;
    daemon = on;
    redirector = iptables;
}

redsocks {
    local_ip = 127.0.0.1;
    local_port = 12345; # порт, на котором redsocks будет слушать
    ip = <IP SOCKS5 прокси>;  # например, 192.168.1.100
    port = <порт SOCKS5>;      # например, 1080
    type = socks5;
}
```

Перезапустите redsocks:
```bash

Код: Выделить всё

sudo systemctl restart redsocks
sudo systemctl enable redsocks
```

### 3. Настройте iptables для перенаправления трафика
Это позволит перенаправлять весь исходящий трафик через redsocks.

Добавьте правила:
```bash
# Создайте цепочку для redirect

Код: Выделить всё

sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner 0 -j REDIRECT --to-ports 12345
```

Если хотите, чтобы трафик перенаправлялся только для определённых IP или интерфейсов, настройте правила более точно.

### 4. Сделайте маршрутизацию постоянной
Чтобы правила сохранились после перезагрузки, используйте `iptables-persistent`:
```bash

Код: Выделить всё

sudo netfilter-persistent save
```

### 5. Настройка системных правил (опционально)
Можете настроить системные параметры для использования SOCKS-прокси в качестве шлюза для всего трафика (например, через `proxychains` или `tsocks`).

---

**Важно:** Замена основного шлюза системы — это более сложная операция, которая требует изменения настроек маршрутизации (`ip route`), и в большинстве случаев рекомендуется использовать прокси для отдельных приложений или настроить маршруты так, чтобы трафик направлялся через SOCKS прокси.

Если хотите полностью заменить шлюз, это делается через `ip route`, например:

```bash

Код: Выделить всё

sudo ip route del default
sudo ip route add default via <IP_нового_шлюза>
```

Но это не делает SOCKS5-прокси "шлюзом" в полном смысле — это просто изменение маршрутов.

---

**Замечание:** В большинстве случаев достаточно настроить прокси и маршрутизацию для нужных интерфейсов или приложений, не меняя системный шлюз полностью.
ya
^-^
Сообщения: 2673
Зарегистрирован: 16 дек 2021, 19:56

Re: SOCKS5-прокси основным шлюзом в Debian 11

Сообщение ya »

Чтобы настроить систему на использование SOCKS-прокси в качестве шлюза для всего трафика, есть несколько способов, включая использование `proxychains` или `tsocks`. Однако, важно понимать, что эти инструменты работают только для приложений, запущенных через них, а не глобально для всей системы.

### Использование `proxychains` для приложений
`proxychains` позволяет запускать отдельные приложения с использованием SOCKS-прокси.

#### Установка:
```bash

Код: Выделить всё

sudo apt update
sudo apt install proxychains
```

#### Настройка:
Редактируйте файл `/etc/proxychains.conf`:
```bash

Код: Выделить всё

sudo nano /etc/proxychains.conf
```

В конце файла укажите ваш SOCKS5-прокси, например:
```

Код: Выделить всё

socks5 127.0.0.1 1080
```

#### Запуск приложений через `proxychains`:
```bash

Код: Выделить всё

proxychains curl http://checkip.amazonaws.com
```

### Использование `tsocks` (устаревший, но тоже вариант)
`tsocks` позволяет перенаправлять трафик приложений через SOCKS-прокси.

#### Установка:
```bash

Код: Выделить всё

sudo apt install tsocks
```

#### Настройка:
Редактируйте `/etc/tsocks.conf`:
```bash

Код: Выделить всё

sudo nano /etc/tsocks.conf
```

Пример конфигурации:
```conf

Код: Выделить всё

server = 127.0.0.1
server_port = 1080
# Можно добавить исключения, если нужно
```

#### Запуск приложений с `tsocks`:
```bash

Код: Выделить всё

tsocks curl http://checkip.amazonaws.com
```

---

### Глобальный перенос всего трафика через SOCKS-прокси
Для того чтобы весь системный трафик шел через SOCKS-прокси, нужно настроить маршруты или использовать специальные инструменты, например, ` redsocks` + `iptables`, как я описывал ранее.

Или, более удобно — использовать `proxychains` или `tsocks` для запуска всех приложений, что не совсем полноценная замена системного шлюза, но часто достаточно.

### Для полного перенаправления всего трафика:
- Настройте `redsocks` и `iptables` для проксирования всего трафика через SOCKS-прокси.
- Или используйте утилиты, такие как `systemd-networkd` или `NetworkManager` с настройками прокси.

---
ya
^-^
Сообщения: 2673
Зарегистрирован: 16 дек 2021, 19:56

Re: SOCKS5-прокси основным шлюзом в Debian 11

Сообщение ya »

# --- Правила для разрешения входящего трафика ---

# Разрешить весь входящий TCP-трафик на порт 80 (HTTP)
iptables -A INPUT -i ens9 -p tcp --dport 80 -j ACCEPT

# Разрешить весь входящий TCP-трафик на порт 443 (HTTPS)
iptables -A INPUT -i ens9 -p tcp --dport 443 -j ACCEPT

# Разрешить весь входящий UDP-трафик на порт 53 (DNS)
iptables -A INPUT -i ens9 -p udp --dport 53 -j ACCEPT

# Разрешить весь входящий трафик на другие порты (например, для SSH)
# ЗАМЕНА: Укажите конкретные порты или диапазоны портов, которые нужно разрешить.
# Пример для SSH на порт 22:
# iptables -A INPUT -i ens9 -p tcp --dport 22 -j ACCEPT

# --- Правила для запрета нежелательного входящего трафика ---

# Заблокировать весь входящий трафик на все другие порты (кроме указанных выше)
iptables -A INPUT -i ens9 -p tcp --dport ! 80 ! 443 ! 22 ! 53 -j DROP # Важно!
iptables -A INPUT -i ens9 -p udp --dport ! 53 -j DROP # Важно!
Ответить