Refine tproxy article layout

This commit is contained in:
Meow
2026-05-10 07:25:25 +08:00
parent 95b918b8c8
commit f1b565ac1e
12 changed files with 180 additions and 206 deletions
+30 -24
View File
@@ -162,7 +162,7 @@ sudo curl -oL /usr/local/share/xray/geosite.dat https://github.com/Loyalsoldier/
## Настройка маршрутизации по политике
```
```sh
sudo ip route add local default dev lo table 100 # Добавить таблицу маршрутизации 100
sudo ip rule add fwmark 1 table 100 # Добавить правило для таблицы маршрутизации 100
```
@@ -171,9 +171,13 @@ sudo ip rule add fwmark 1 table 100 # Добавить правило для т
::: warning Внимание
Выберите одну из следующих конфигураций: nftables или iptables. Не используйте обе одновременно.
Запишите выбранную конфигурацию в файл, выдайте ему права на выполнение и затем запустите этот файл от имени root.
:::
```nftables
::: code-group
```bash [nftables.conf]
#!/usr/sbin/nft -f
flush ruleset
@@ -211,14 +215,7 @@ table ip xray {
}
```
::: tip Использование
Запишите приведенную выше конфигурацию в файл (например, `nft.conf`), затем предоставьте файлу права на выполнение и выполните его от имени пользователя root ( `# ./nft.conf` ).
:::
>
```bash
```bash [iptables.sh]
iptables -t mangle -N XRAY
iptables -t mangle -A XRAY -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A XRAY -d 100.64.0.0/10 -j RETURN
@@ -253,14 +250,31 @@ iptables -t mangle -A XRAY_SELF -p udp -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -j XRAY_SELF
```
:::
После завершения настройки измените шлюз по умолчанию на других устройствах в локальной сети на IP-адрес этого устройства, и они смогут использовать VPN. После того, как вы проверите, что все работает правильно на других хостах и на самом устройстве, перейдите к следующему шагу.
## Настройка автозагрузки и сохранения конфигурации
Сначала переместите отредактированный файл конфигурации nftables в каталог `/etc` и переименуйте его в `nftables.conf`.
Затем отредактируйте файл `/lib/systemd/system/nftables.service`.
В зависимости от того, какой вариант Netfilter вы выбрали выше, используйте соответствующий способ сохранения конфигурации.
```ini
- **Если используется `nftables`**
Сначала переместите подготовленный файл конфигурации в каталог `/etc`, затем отредактируйте `/lib/systemd/system/nftables.service`.
- **Если используется `iptables`**
Рекомендуется сразу установить `iptables-persistent`.
Во время установки система спросит, нужно ли сохранить текущую конфигурацию. Если правила `iptables` уже применены, выберите «Да». Если еще нет, это не проблема: после установки примените конфигурацию и выполните `netfilter-persistent save` (требуются права root).
После этого отредактируйте `/lib/systemd/system/netfilter-persistent.service`.
В конце включите выбранный сервис.
::: code-group
```ini [nftables.service]
[Unit]
Description=nftables
Documentation=man:nft(8) http://wiki.nftables.org
@@ -283,17 +297,7 @@ ExecStop=/usr/sbin/nft flush ruleset ; /usr/sbin/ip route del local default dev
WantedBy=sysinit.target
```
Наконец, выполните команду `systemctl enable nftables`.
Для сохранения конфигурации iptables рекомендуется установить пакет `iptables-persistent`.
Во время установки вам будет предложено сохранить конфигурацию.
Если вы уже записали конфигурацию iptables в систему, выберите "Да".
Если вы еще не записали конфигурацию, это не проблема. После установки запишите конфигурацию и выполните команду `netfilter-persistent save` (требуются права root).
Затем отредактируйте файл `/lib/systemd/system/netfilter-persistent.service`.
```ini
```ini [netfilter-persistent.service]
[Unit]
Description=netfilter persistent configuration
DefaultDependencies=no
@@ -312,3 +316,5 @@ ExecStop=/usr/sbin/netfilter-persistent stop ; /usr/sbin/ip route flush dev lo t
[Install]
WantedBy=multi-user.target
```
:::