mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-10-07 22:38:10 +03:00
Refine tproxy article layout
This commit is contained in:
@@ -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
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
Reference in New Issue
Block a user