Как предоставить QEMU (Debian 12) доступ в Интернет через Tun/Tap на Android 15 (Termux, root) без использования моста?Linux

Ответить
Anonymous
 Как предоставить QEMU (Debian 12) доступ в Интернет через Tun/Tap на Android 15 (Termux, root) без использования моста?

Сообщение Anonymous »

У меня есть устройство Android 15 с корневым доступом и LinuxDeploy и LAN-интерфейсом.
Устройство подключено к маршрутизатору через eth0 (

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

192.168.1.128
).
В LinuxDeploy я запускаю QEMU с Debian 12, подключенным через интерфейс Tun/Tap.

Цель

  • Гость Debian должен иметь доступ в Интернет через Android/LinuxDeploy сети.
  • Я должен иметь возможность подключаться к Debian из локальной сети (например, через SSH).
  • Бриджи не разрешены – только tun/tap и iptables.
Конфигурация хоста (Android)

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

# Interfaces
eth0: 192.168.1.128/24
tap10: 192.168.2.1/24

# Routing table
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.128
192.168.2.0/24 dev tap10 proto kernel scope link src 192.168.2.1
192.168.2.1 dev tap10 scope link

# iptables (legacy)
Chain FORWARD (policy ACCEPT)
ACCEPT all -- eth0 tap10 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- tap10 eth0 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

Chain POSTROUTING (policy ACCEPT)
MASQUERADE all -- * tap10 0.0.0.0/0 0.0.0.0/0
MASQUERADE all -- * eth0 192.168.2.0/24 0.0.0.0/0

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

sysctl net.ipv4.ip_forward=1
уже установлен.
Интернет работает
Гостевая конфигурация (QEMU, Debian 12)

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

eth0: 192.168.2.2/24
gateway: 192.168.2.1
dns: 8.8.8.8
Проблема
Гость Debian не может подключиться к Интернету.
Пакеты отправляются, но хост Android отвечает, что сеть ICMP 8.8.8.8 недоступна. вывод на Android:

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

10:28:49.920866 IP 192.168.1.128 > 192.168.2.2: ICMP net 8.8.8.8 unreachable
Вопрос
Что мне следует изменить в iptables, маршрутизации или sysctl, чтобы сделать:
  • Гость QEMU (192.168.2.2) получает доступ к Интернету через Android (NAT);
  • Гость Debian доступен из локальной сети (192.168.1.0/24);
  • Все это работает без использования сетевого моста?

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

# Interfaces
eth0: 192.168.1.128/24
tun10: 192.168.2.1/24

# Routing table
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.128
192.168.2.0/24 dev tap10 proto kernel scope link src 192.168.2.1
192.168.2.1 dev tap10 scope link

# iptables (legacy)
Chain FORWARD (policy ACCEPT)
ACCEPT all -- eth0 tap10 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- tap10 eth0 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

Chain POSTROUTING (policy ACCEPT)
MASQUERADE all -- * tap10 0.0.0.0/0 0.0.0.0/0
MASQUERADE all -- * eth0 192.168.2.0/24 0.0.0.0/0

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

sysctl net.ipv4.ip_forward=1
уже установлен.


Подробнее здесь: https://stackoverflow.com/questions/797 ... -15-termux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»