GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Android - Wie richten Sie Internet-Pass-Through (Reverse-Tether) unter Linux ein?

Das Folgende funktioniert eine Weile, aber nur für den Browser.

Wenn Sie Ihr Telefon über USB anschließen und Internet-Passthrough wählen, sollten Sie ein neues RNDIS-Gerät (usb0 oder usb1) erhalten. Bearbeiten Sie für Ubuntu /etc/network/interfaces und fügen Sie die folgenden Zeilen hinzu:

iface usb0 inet dhcp
iface usb1 inet dhcp

Dadurch wird automatisch eine IP zugewiesen, wenn das Gerät hinzugefügt wird. Wenn eine Netzwerkadresse nicht automatisch USB0 oder USB1 zugewiesen wird, müssen Sie dies manuell tun.

Dann müssen Sie NAT auf Ihrem Linux-Computer einrichten. Etwas wie:

sudo iptables -A POSTROUTING -t nat -j MASQUERADE
sudo echo 1 > /proc/sys/net/ipv4/ip_forward 

Außerdem benötigen Sie einen DNS-Server:

sudo apt-get install bind9

Dies funktioniert einige Minuten lang, aber nach einer Weile gibt das Telefon die Suche nach HTC Sync auf und trennt die Verbindung.

Für gerootete Telefone

Sie können sich dauerhaft verbinden, wenn Sie ein gerootetes Telefon haben (fre3vo hat bei mir funktioniert). Führen Sie Folgendes mit adb aus.

USB-Modus für Netzwerk und ADB aktivieren:

adb shell echo 6 > /sys/devices/platform/msm_hsusb/usb_function_switch

Weisen Sie dem USB0-Gerät auf dem Telefon eine IP zu:

adb shell ifconfig usb0 192.168.99.5 netmask 255.255.255.0 up

Fügen Sie eine Standardroute hinzu. Die IP sollte die IP sein, die usb0 in Linux zugewiesen wurde:

adb shell route add default gw 192.168.99.1 dev usb0

Stellen Sie den DNS-Server ein. Dies ist der offene DNS-Server von Google, aber es kann die IP Ihres Linux-Computers sein, wenn Sie einen DNS-Server haben:

adb shell setprop net.dns1 8.8.8.8

A hat diese kleine Bash erstellt, um alles zu automatisieren. Schließen Sie einfach Ihr Telefon im Lademodus an Ihren Computer an und führen Sie diese Bash aus.

#!/bin/bash
/opt/android-sdk-update-manager/platform-tools/adb shell 'echo 6 > /sys/devices/platform/msm_hsusb/usb_function_switch'
sleep 1
/opt/android-sdk-update-manager/platform-tools/adb shell ifconfig usb0 192.168.99.5 netmask 255.255.255.0 up
sleep 1
/opt/android-sdk-update-manager/platform-tools/adb shell setprop net.dns1 8.8.8.8

get_ip ()
{
ifconfig usb0 | grep inet | awk '{print $2}' | sed 's/addr://' | grep .
}

echo "waiting for IP on computer usb0"
while [[ `get_ip` < 192 ]];do sleep 2; done
ip=`get_ip`
echo "IP adress is $ip "
/opt/android-sdk-update-manager/platform-tools/adb shell route add default gw $ip dev usb0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Linux
  1. So setzen Sie Ihre $PATH-Variable in Linux

  2. So legen Sie den System-Hostnamen unter Linux fest oder ändern ihn

  3. So setzen/erstellen Sie Umgebungs- und Shell-Variablen in Linux

  4. rbash – Setze eingeschränkte Shell in Linux

  5. So richten Sie eine Wifi-Direct-Verbindung zwischen Android und Linux ein

So legen Sie den Hostnamen unter Linux fest oder ändern ihn

So richten Sie die Torrent-Planung unter Linux ein

So verwenden Sie das Linux-Terminal in Android

So installieren Sie Kali Linux auf einem Android-Telefon

So legen Sie den Hostnamen unter Linux fest oder ändern ihn

So ändern Sie eine Benutzer-Shell in Linux