Saya ingin membuat semua koneksi masuk ke port 1000 dari host saya (IP: 200.234.XXX.XXX) untuk diteruskan ke port 80 pada host 10.211.55.5
Bagaimana saya bisa melakukannya di host saya? Ini menjalankan Mac OS X 10.5.8
macos
mac
proxy
port-forwarding
Daniel Cukier
sumber
sumber
Jawaban:
Cukup sederhana untuk dilakukan, Pertama Anda harus mengaktifkan layanan login jarak jauh pada mac Anda ( System Preferences -> Sharing -> Remote Login ). Ini memulai server ssh Anda.
Kemudian jalankan perintah berikut di Terminal OS X Anda:
Anda mungkin harus menerima sidik jari server terlebih dahulu dan juga mengetikkan kata sandi lokal Anda untuk login ssh. (Anda juga dapat mengatur kunci publik / privat ssh lokal ke lokal agar tidak meminta kata sandi, akan menjadikannya sebagai latihan bagi pembaca.)
Formatnya adalah:
sumber
Sangat sederhana menggunakan alat serbaguna ncat:
sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open
Dapatkan binari ncat / nmap untuk Mac OS X dari situs web resmi: http://nmap.org/download.html#macosx
EDIT: menambahkan sudo untuk mendengarkan pada port terbatas <1024
sumber
Dengan anggapan Anda memiliki router UPnP, portnya mudah dikonfigurasikan dengan menggunakan PortMap
Ini memiliki UI yang sangat sederhana.
sumber
Baiklah, saya dapat memberi tahu Anda bagaimana saya melakukan hal semacam itu pada sistem Mac OS X 10.5.8 saya.
Saya mulai dengan jawaban tentang NAT, tetapi saya pikir Anda benar-benar menginginkan program forwarder TCP (Anda menyebutkan 'proxy' dan port forwarding.)
Ada beberapa cara untuk melakukan ini, tergantung pada kebutuhan Anda bahkan 'SSH' dapat ditekan ke dalam tindakan, meskipun cara pendek dan manis favorit saya adalah skrip Perl tcpforward .
Jika Anda memerlukan manipulasi HTTP (Anda mungkin perlu men-tweak pengalihan HTTP, sehingga ketika permintaan datang untuk URL tanpa trailing '/' Anda tidak diarahkan ke server nyata, tidak dapat diakses,), maka Apache dapat melakukan pekerjaan proxy terbalik. Anda ingin melihat mod_proxy dan secara khusus ProxyPass dan ProxyPassReverse. Jangan tidak memungkinkan ProxyRequests, itu sudah maju proxy. Seharusnya dimungkinkan untuk menggunakan Apache Mac OS sendiri untuk melakukan ini, jika Anda sudah menjalankannya. Itu datang dengan mod_proxy dan /etc/httpd/httpd.conf adalah file konfigurasi untuk memperbarui.
Bahkan dengan Apache, Anda perlu memastikan bahwa semua tautan di konten server nyata adalah relatif, jika mereka mereferensikan server sebenarnya maka Anda bisa mencoba modul mod_proxy_html (saya tidak punya pengalaman seberapa baik kerjanya).
sumber
Apakah mesin Anda terhubung langsung ke internet (IE - tanpa router)? Biasanya Anda melakukan penerusan port pada router, tetapi jika Anda menggunakan modem untuk terhubung secara langsung, iptables mungkin merupakan cara terbaik.
sumber
iptables
untuk menyelesaikan apa yang ditanyakan, itu bisa berguna.Berikut ini adalah artikel yang bagus: http://www.cyberhq.nl/article/384/port-forwarding-in-macos-x
Tetapi karena Anda meneruskan ke 80, saya berasumsi Anda ingin pergi ke server web jadi saya hanya akan mengubah konfigurasi server web untuk membuat proxy terbalik atau sesuatu seperti itu.
sumber