Saya memiliki HTC Desire S yang memiliki opsi untuk terhubung melalui usb, dan menggunakan koneksi internet komputer. Ini berfungsi dengan baik di Windows, tapi saya kesulitan untuk mengaturnya di Ubuntu. Ketika saya mencolokkan dan memilih pass-through internet dari menu usb, perangkat usb1 dibuat dan saya dapat melakukan ping ke alamat ipnya. Saya telah mencoba berbagai konfigurasi iptables dan mengatur nat, tetapi saya tidak yakin apakah saya melakukannya dengan benar, atau jika perlu ada beberapa konfigurasi tambahan ...
Terima kasih atas bantuannya.
linux
internet
reverse-tether
bluegray
sumber
sumber
Jawaban:
Berikut ini berfungsi untuk sementara waktu, tetapi hanya untuk browser.
Ketika Anda mencolokkan telepon Anda melalui usb dan memilih akses Internet, Anda harus mendapatkan perangkat RNDIS baru (usb0 atau usb1). Untuk ubuntu, edit / etc / network / interfaces dan tambahkan baris berikut:
Ini akan menetapkan IP secara otomatis ketika 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:
Anda juga memerlukan server DNS:
Ini berfungsi selama beberapa menit, tetapi setelah beberapa saat ponsel menyerah mencari HTC Sync dan terputus.
Untuk ponsel yang di-rooting
Anda dapat terhubung secara permanen jika Anda memiliki telepon yang telah di-rooting (fre3vo berfungsi untuk saya). Jalankan yang berikut dengan adb.
Aktifkan mode usb untuk jaringan dan adb:
Tetapkan IP ke perangkat USB0 di telepon:
Tambahkan rute default. IP harus IP yang ditugaskan untuk usb0 di linux:
Atur server DNS. Ini adalah server DNS terbuka Google, tetapi ini bisa menjadi IP komputer linux Anda jika Anda memiliki server DNS:
sumber
phoneip=$(arp -n | grep usb | awk '{print $1}') echo -n -e "\x00\x02\x00\x00" | nc $phoneip 6000 > /dev/null
Nilai hex dari00 02 00 00
semua yang dicari.netsh interface ip show config
untuk melihat semua nama antarmuka, dan kemudiannetsh interface ip show config name="Local Area Connection #2"
mendapatkan antarmuka itu, di manaLocal Area Connection #2
pun adaptor baru dipanggil. Anda dapat mengganti nama ini untuk kenyamanan.A membuat bash kecil ini untuk mengotomatisasi semua. Cukup hubungkan ponsel Anda dalam mode pengisian daya ke komputer Anda dan jalankan bash ini.
sumber
Karena saya sendiri tidak memiliki akses ke mesin Linux, saya tidak dapat menguji solusi ini tetapi Anda dapat mencoba langkah-langkah yang dijelaskan di sini (terjemahan Google dari bahasa Rusia) .
Komentar untuk terjemahan:
Semoga berhasil!
sumber
Ok, inilah yang saya lakukan, tidak ada rooting dari HTC yang diinginkan:
Setup bind9 dan NAT dll ...
catatan: 1: jika Anda hanya melakukan sudo echo 1> / proc / sys / net / ipv4 / ip_forward Anda akan mendapatkan kesalahan izin, jadi inilah skrip untuk proses 2: Anda dapat membuat iptables lebih spesifik tentang bagaimana ia mengerjakan sesuatu dengan menambahkan parameter untuk perangkat tertentu.
sekarang tancapkan telepon Anda dan pilih 'akses internet'
tunggu hingga perangkat muncul:
ifconfig
periksa juga di:arp
Saya menemukan saya harus mencabut perangkat kemudian colokkan lagi untuk muncul di arp, hal-hal tidak berfungsi dengan baik jika arp tidak menunjukkan perangkat.
Perangkat kemudian akan duduk menunggu HTC Sync untuk mengirim pesan sehingga Anda harus mengejek pesan HTC Syncs:
Saya dapat menulis versi ini menggunakan D-Bus sehingga bagian terakhir dijalankan secara otomatis ketika perangkat dicolokkan dll ...
Ok inilah pekerjaan saya yang sedang berjalan, saya tidak dapat menemukan apa pun 'generik' di d-bus jadi saya memilih sedikit solusi hack menggunakan udev .. Ini tidak sempurna, misalnya perintah dijalankan dua kali, jadi saya Saya harus melihat apakah saya bisa memfilter parameter pencocokan sedikit lebih baik, juga menambahkan batas waktu pada skrip terakhir, hanya memetikan dan melihat apakah saya dapat mengganti arp dengan sesuatu yang sedikit lebih baik, katakanlah mencari di / proc
here.s file .rules saya dari /etc/udev/rules.d yang saya buat
Anda dapat menyebutnya apa pun yang Anda suka, tetapi JANGAN MULAI DENGAN NOMOR, dengan begitu ia akan menjadi yang terakhir.
Tambahkan berikut ini ke file sebagai sudo menggunakan editor pilihan Anda dll ...
Pada dasarnya, jika Anda tidak melihat 3 r,
Maka Anda akan memerlukan dua file lebih lanjut, satu untuk rantai yang lain, karena RUN dari udev akan memblokir semua yang lain (meskipun itu berjalan terakhir !!) ... hmm ... bagaimanapun:
Saya membuat file di direktori home saya untuk saat ini "/ home / olli /" ... jadi ingatlah untuk mengganti bit '/ home / olli /' dengan dimanapun Anda membuat file:
jadi bagi saya, cd ke direktori home saya.
buat file bernama
berisi yang berikut ini:
membuatnya bisa dieksekusi
buat file lain bernama
containg berikut ini
Jadikan itu dapat dieksekusi:
Mudah-mudahan saya harus memiliki versi merapikan bagus segera sebagai pos. (mungkin besok).
sumber
Untuk Usb Reverse Tethering dengan Android dan Linux tanpa rooting, lihat jawaban saya di sini
sumber