Устройство подключено к маршрутизатору через eth0 (
Код: Выделить всё
192.168.1.128В LinuxDeploy я запускаю QEMU с Debian 12, подключенным через интерфейс Tun/Tap.
Цель
- Гость Debian должен иметь доступ в Интернет через Android/LinuxDeploy сети.
- Я должен иметь возможность подключаться к Debian из локальной сети (например, через SSH).
- Бриджи не разрешены – только tun/tap и iptables.
Код: Выделить всё
# 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 недоступна.
Код: Выделить всё
tcpdumpКод: Выделить всё
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
Мобильная версия