GNU/Linux >> Belajar Linux >  >> Linux

Android - Bagaimana Anda mengatur pass-through internet (reverse-tether) di linux?

Berikut ini berfungsi untuk sementara, tetapi hanya untuk browser.

Ketika Anda menyambungkan ponsel Anda melalui usb dan memilih Internet pass-through, Anda harus mendapatkan perangkat RNDIS baru (usb0 atau usb1). Untuk ubuntu, edit /etc/network/interfaces dan tambahkan baris berikut:

iface usb0 inet dhcp
iface usb1 inet dhcp

Ini akan menetapkan IP secara otomatis saat perangkat ditambahkan. Jika alamat jaringan tidak ditetapkan secara otomatis ke usb0 atau usb1, Anda harus melakukannya secara manual.

Maka Anda perlu mengatur NAT di komputer linux Anda. Sesuatu seperti:

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

Anda juga memerlukan server DNS:

sudo apt-get install bind9

Ini berfungsi selama beberapa menit, tetapi setelah beberapa saat telepon berhenti mencari HTC Sync dan terputus.

Untuk ponsel yang di-root

Anda dapat terhubung secara permanen jika Anda memiliki ponsel yang di-rooting (fre3vo bekerja untuk saya). Jalankan yang berikut dengan adb.

Aktifkan mode usb untuk jaringan dan adb:

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

Tetapkan IP ke perangkat usb0 di ponsel:

adb shell ifconfig usb0 192.168.99.5 netmask 255.255.255.0 up

Tambahkan rute default. IP harus menjadi IP yang ditetapkan ke usb0 di linux:

adb shell route add default gw 192.168.99.1 dev usb0

Atur server DNS. Ini adalah server DNS terbuka Google, tetapi ini bisa menjadi IP komputer linux Anda jika Anda memiliki server DNS:

adb shell setprop net.dns1 8.8.8.8

A membuat bash kecil ini untuk mengotomatiskan semua. Cukup colokkan ponsel Anda dalam mode pengisian daya ke komputer dan jalankan bash ini.

#!/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. Cara Mengatur atau Mengubah Nama Host Sistem di Linux

  2. Cara Mengatur/Membuat Variabel Lingkungan dan Shell di Linux

  3. Cara mengatur koneksi Wifi-Direct antara Android dan Linux

  1. Cara Mengganti Shell di Linux

  2. Cara Menemukan Shell Yang Anda Gunakan di Linux

  3. Cara Mengatur Variabel $Path di Linux

  1. rbash – Setel Shell terbatas di Linux

  2. Bagaimana Anda Secara Terprogram Mengatur Jam Perangkat Keras di Linux?

  3. Bagaimana cara mengatur $PATH secara permanen di Linux/Unix?