Ini ialah arahan shuttle yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
shuttle - dokumentasi ulang alik
SINOPSIS
ulang-alik [pilihan] [-r [nama pengguna@]sshserver[:port]]subnet ...>
DESCRIPTION
ulang-alik membolehkan anda membuat sambungan VPN dari mesin anda ke mana-mana pelayan jauh yang
anda boleh menyambung melalui ssh, selagi pelayan itu mempunyai python 2.3 atau lebih tinggi.
Untuk berfungsi, anda mesti mempunyai akses root pada mesin tempatan, tetapi anda boleh mempunyai akaun biasa
di pelayan.
Ia sah untuk dijalankan ulang-alik lebih daripada sekali serentak pada mesin pelanggan tunggal,
menyambung ke pelayan yang berbeza setiap kali, supaya anda boleh menggunakan lebih daripada satu VPN sekaligus.
Jika dijalankan pada penghala, ulang-alik boleh memajukan trafik untuk keseluruhan subnet anda kepada VPN.
PILIHAN
subnet
Senarai subnet untuk dihalakan melalui VPN, dalam bentuk abcd[/width]. sah
contohnya ialah 1.2.3.4 (satu alamat IP), 1.2.3.4/32 (bersamaan dengan 1.2.3.4),
1.2.3.0/24 (subnet 24-bit, iaitu dengan topeng jaring 255.255.255.0), dan 0/0 ('hanya
halakan semuanya melalui VPN').
-l, --listen=[ip:]port
Gunakan alamat ip dan nombor port ini sebagai port proksi telus. Secara lalai
ulang-alik mencari port yang tersedia secara automatik dan mendengar pada IP 127.0.0.1
(localhost), jadi anda tidak perlu mengatasinya dan sambungan hanya diproksi
dari mesin tempatan, bukan dari mesin luar. Kalau nak terima
sambungan daripada mesin lain pada rangkaian anda (iaitu untuk menjalankan ulang-alik pada penghala)
cuba dayakan IP Forwarding dalam kernel anda, kemudian gunakan --dengar 0.0.0.0:0.
Untuk kaedah tproxy ini boleh menjadi alamat IPv6. Gunakan pilihan ini dua kali jika
diperlukan, untuk menyediakan kedua-dua alamat IPv4 dan IPv6.
-H, --auto-hos
Imbas untuk nama hos jauh dan kemas kini tempatan / Etc / tuan rumah fail dengan padanan
entri selagi VPN dibuka. Ini lebih bagus daripada menukar sistem anda
DNS (/etc/resolv.conf) tetapan, atas beberapa sebab. Pertama, nama hos ditambah
tanpa dilampirkan nama domain, jadi anda boleh ssh pelayan itu tanpa risau jika anda
domain tempatan sepadan dengan domain jauh. Kedua, jika anda ulang-alik menjadi lebih daripada satu
VPN pada satu masa, adalah mustahil untuk menggunakan lebih daripada satu pelayan DNS sekaligus, tetapi
ulang-alik bercantum dengan betul / Etc / tuan rumah entri antara semua salinan yang sedang berjalan. Ketiga, jika
anda hanya menghalakan beberapa subnet melalui VPN, anda mungkin lebih suka menyimpannya
menggunakan pelayan DNS tempatan anda untuk segala-galanya.
-N, --jaringan automatik
Sebagai tambahan kepada subnet yang disediakan pada baris arahan, tanya pelayan yang mana
subnet yang difikirkan harus kita halakan, dan halakan secara automatik. Cadangan
diambil secara automatik daripada jadual penghalaan pelayan.
--dns Tangkap permintaan DNS tempatan dan majukan ke pelayan DNS jauh.
--python
Nyatakan nama/laluan penterjemah python jauh. Lalainya hanya
ular sawa, yang bermaksud menggunakan penterjemah python lalai pada sistem jauh
JALAN.
-r, --remote=[nama pengguna@]sshserver[:port]
Nama hos jauh dan nama pengguna pilihan dan nombor port ssh untuk digunakan untuk menyambung
ke pelayan jauh. Contohnya, example.com, [e-mel dilindungi],
[e-mel dilindungi]:2222, atau example.com:2244.
-x, --exclude=subnet
Kecualikan subnet ini daripada pemajuan secara eksplisit. Format pilihan ini ialah
sama dengan pilihan. Untuk mengecualikan lebih daripada satu subnet, nyatakan -x
pilihan lebih daripada sekali. Anda boleh mengatakan sesuatu seperti 0/0 -x 1.2.3.0/24 ke hadapan
semuanya kecuali subnet tempatan melalui VPN, contohnya.
-X, --exclude-from=file
Kecualikan subnet yang dinyatakan dalam fail, satu subnet setiap baris. Berguna apabila anda mempunyai
banyak subnet untuk dikecualikan.
-v, --verbose
Cetak maklumat lanjut tentang sesi. Pilihan ini boleh digunakan lebih daripada sekali
untuk meningkatkan verbositi. Secara lalai, ulang-alik hanya mencetak mesej ralat.
-e, --ssh-cmd
Perintah untuk digunakan untuk menyambung ke pelayan jauh. Lalainya hanya ssh. Penggunaan
ini jika pelanggan ssh anda berada di lokasi yang tidak standard atau anda ingin memberikan tambahan
pilihan kepada arahan ssh, sebagai contoh, -e 'ssh -v'.
--perumah benih
Senarai nama hos yang dipisahkan koma untuk digunakan untuk memulakan --auto-hos mengimbas
algoritma. --auto-hos melakukan perkara seperti meninjau pelayan SMB tempatan untuk senarai tempatan
nama hos, tetapi boleh mempercepatkan perkara jika anda menggunakan pilihan ini untuk memberikannya beberapa nama
bermula dari.
--tiada-kawalan kependaman
Korbankan kependaman untuk meningkatkan penanda aras lebar jalur. ssh menggunakan soket yang sangat besar
penampan, yang boleh membebankan sambungan jika anda mula melakukan pemindahan fail besar,
sekali gus menjadikan semua sesi anda yang lain di dalam terowong yang sama berjalan perlahan. Biasanya,
ulang-alik cuba mengelak masalah ini menggunakan "semakan kepenuhan" yang membenarkan hanya a
sejumlah data tertunggak tertentu untuk ditimbal pada satu masa. Tetapi pada jalur lebar tinggi
pautan, ini boleh menyebabkan banyak lebar jalur anda tidak digunakan. Ia juga membuat
ulang-alik kelihatan perlahan dalam penanda aras lebar jalur (penanda aras jarang menguji kependaman ping,
yang mana ulang-alik cuba dikawal). Pilihan ini melumpuhkan kependaman
ciri kawalan, memaksimumkan penggunaan lebar jalur. Gunakan atas risiko anda sendiri.
-D, --daemon
Secara automatik beralih ke latar belakang selepas menyambung ke pelayan jauh.
menyiratkan --syslog.
--syslog
selepas menyambung, hantar semua mesej log ke syslog(3) perkhidmatan bukannya stderr.
Ini tersirat jika anda menggunakan --daemon.
--pidfile=pidfilename
semasa menggunakan --daemon, jimat ulang-alikpid ke pidfilename. Lalai adalah
shuttle.pid dalam direktori semasa.
--disable-ipv6
Jika menggunakan kaedah tproxy, ini akan melumpuhkan sokongan IPv6.
--tembok api
(kegunaan dalaman sahaja) jalankan pengurus tembok api. Ini adalah satu-satunya bahagian ulang-alik
yang mesti dijalankan sebagai root. Jika anda mulakan ulang-alik sebagai pengguna bukan root, ia akan
berjalan secara automatik sudo or su untuk memulakan pengurus firewall, tetapi teras
ulang-alik masih berjalan sebagai pengguna biasa.
--jam tangan hos
(kegunaan dalaman sahaja) jalankan daemon jam tangan hos. Proses ini berjalan di bahagian pelayan
dan mengumpul nama hos untuk --auto-hos pilihan. Menggunakan pilihan ini dengan sendirinya
menjadikannya lebih mudah untuk nyahpepijat dan menguji --auto-hos ciri.
CONTOH
Uji secara setempat dengan memproksi semua sambungan tempatan, tanpa menggunakan ssh:
$ shuttle -v 0/0
Memulakan proksi shuttle.
Mendengar pada ('0.0.0.0', 12300).
[sudo tempatan] Kata laluan:
pengurus firewall sedia.
c: menyambung ke pelayan...
s: laluan yang tersedia:
s: 192.168.42.0/24
c: bersambung.
pengurus firewall: memulakan transproxy.
c : Terima: 192.168.42.106:50035 -> 192.168.42.121:139.
c : Terima: 192.168.42.121:47523 -> 77.141.99.22:443.
...dan lain-lain...
^C
pengurus firewall: membuat asal perubahan.
Gangguan Papan Kekunci
c : Gangguan papan kekunci: keluar.
c : SW#8:192.168.42.121:47523: memadam
c : SW#6:192.168.42.106:50035: memadam
Uji sambungan ke pelayan jauh, dengan nama hos automatik dan tekaan subnet:
$ shuttle -vNHr example.org
Memulakan proksi shuttle.
Mendengar pada ('0.0.0.0', 12300).
pengurus firewall sedia.
c: menyambung ke pelayan...
s: laluan yang tersedia:
s: 77.141.99.0/24
c: bersambung.
c : seed_hosts: []
pengurus firewall: memulakan transproxy.
jam hos: Ditemui: kotak ujian1: 1.2.3.4
hoswatch: Dijumpai: mytest2: 5.6.7.8
hoswatch: Dijumpai: domaincontroller: 99.1.2.3
c : Terima: 192.168.42.121:60554 -> 77.141.99.22:22.
^C
pengurus firewall: membuat asal perubahan.
c : Gangguan papan kekunci: keluar.
c : SW#6:192.168.42.121:60554: memadam
PERBINCANGAN
Apabila ia bermula, ulang-alik mencipta sesi ssh ke pelayan yang ditentukan oleh -r pilihan.
If -r ditinggalkan, ia akan memulakan kedua-dua klien dan pelayannya secara tempatan, yang kadangkala
berguna untuk ujian.
Selepas menyambung ke pelayan jauh, ulang-alik memuat naik kod sumbernya (python) ke
hujung terpencil dan melaksanakannya di sana. Oleh itu, anda tidak perlu memasang ulang-alik di alat kawalan jauh
pelayan, dan tidak pernah ada ulang-alik konflik versi antara klien dan pelayan.
Tidak seperti kebanyakan VPN, ulang-alik memajukan sesi, bukan paket. Iaitu, ia menggunakan kernel
proksi telus (iptables UBAH ARAH peraturan di Linux) untuk menangkap sesi TCP keluar,
kemudian mencipta sesi TCP yang berasingan sepenuhnya ke destinasi asal pada yang lain
hujung terowong.
Pemajuan peringkat paket (cth. menggunakan peranti tun/tap pada Linux) nampak elegan pada mulanya,
tetapi ia mengakibatkan beberapa masalah, terutamanya masalah 'tcp over tcp'. Protokol tcp
bergantung pada asasnya pada paket yang digugurkan untuk melaksanakan kesesakannya
kawalan agoritma; jika anda menghantar paket tcp melalui terowong berasaskan tcp (seperti ssh), the
paket tcp dalaman tidak akan digugurkan, jadi kawalan kesesakan aliran tcp dalaman
akan rosak sepenuhnya, dan prestasi akan menjadi buruk. Oleh itu, VPN berasaskan paket
(seperti IPsec dan openvpn) tidak boleh menggunakan strim disulitkan berasaskan tcp seperti ssh atau ssl, dan
perlu melaksanakan penyulitan mereka sendiri dari awal, yang sangat kompleks dan ralat
terdedah.
ulang-alikKesederhanaan datang dari fakta bahawa ia boleh menggunakan ssh sedia ada dengan selamat
terowong yang disulitkan tanpa dikenakan penalti prestasi. Ia melakukan ini dengan membiarkan
kernel sisi klien menguruskan aliran tcp masuk, dan kernel sisi pelayan menguruskan
aliran tcp keluar; tidak perlulah kawalan kesesakan dikongsi antara keduanya
aliran berasingan, jadi terowong berasaskan tcp adalah baik.
Gunakan sshuttle dalam talian menggunakan perkhidmatan onworks.net
