dan dari artikel yang disebutkan, untuk menghapusnya sudo pfctl -F all -f /etc/pf.conf,, dan untuk menampilkan aturan penerusan port Anda saat ini,sudo pfctl -s nat
Brad Parks
4
perlu diingat bahwa solusi ini tidak menambahkan aturan tetapi menggantikan aturan lain yang dimuat sebelumnya, termasuk pf.conffile
erandros
36
Cara modern untuk meneruskan port di El Capitan sedang digunakan pf. Dalam contoh di bawah ini, semua permintaan port 80 diteruskan ke port 8080 pada host yang sama. Harap sesuaikan pengalihan dengan kebutuhan Anda.
Buat file anchor org.user.forwarding di /private/etc/pf.anchors
dengan konten berikut dan baris kosong yang tertinggal
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass on en0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
rdr pass on en1 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
atau
rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
Ubah file /private/etc/pf.conf tetapi simpan baris kosong yang tertinggal
Anda harus menonaktifkan Perlindungan Integritas Sistem untuk mencapai ini. Setelah mengedit file SIP diaktifkan kembali. Setelah reboot Mac pf Anda akan diaktifkan (itulah opsi -e).
Mengapa tidak ada perintah sederhana untuk melakukan ini lagi? Terlalu rumit sekarang.
Dr.Knowitall
@klanomath - ini berfungsi dan saya dapat meneruskan port x ke port y pada 127.0.0.1 dll, tetapi saya tidak dapat meneruskan port ke windows saya vm berjalan pada desktop paralel, Ada ide? inilah pertanyaan saya stackoverflow.com/questions/40695684/…
Sudhir N
Tampaknya tidak berfungsi saat meneruskan port ke VM yang berjalan pada desktop paralel
Sudhir N
@sudhir Anda tidak berhasil menautkan ke Pertanyaan baru Anda. Secara default, Parallels VM tidak terlihat oleh jaringan, sebagai tindakan pencegahan keamanan. Anda dapat mengubah pengaturan dalam konfigurasi VM untuk membuat VM terlihat. Dan ingat, pingadalah teman Anda dalam mendiagnosis masalah jaringan.
Untuk memperluas solusi dari jawaban @ sal-ferrarello, saya membuat dua Script Shell super-dasar untuk mengaktifkan atau menonaktifkan pengalihan tanpa mengurangi entri yang sudah ada di pf.
I. Pertama temukan entri apa yang sudah Anda miliki dengan:
sudo pfctl -s nat
Output saya seperti:
No ALTQ support in kernel
ALTQ related functions disabled
nat-anchor "com.apple/*" all
rdr-anchor "com.apple/*" all
Yang menarik bagi kami adalah entri aktual jadi ommit dua baris info pertama.
II Buat enable.shskrip:
#!/bin/sh
echo "
nat-anchor \"com.apple/*\" all
rdr-anchor \"com.apple/*\" all
rdr pass inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
" | sudo pfctl -ef -
sudo pfctl -s nat
Dua baris pertama setelah itu echoadalah entri yang sudah ada di sana. Baris ketiga adalah dengan redirect baru - dalam hal ini 80 hingga 8080. Pada akhirnya kami memanggil sudo pfctl -s natuntuk melihat apakah perubahan diterapkan.
AKU AKU AKU. Buat disable.shskrip:
Mirip dengan enable.shkita membuat skrip, tetapi tanpa 80-> 8080 redirect, tetapi dengan entri yang sudah ada sebelumnya:
#!/bin/sh
echo "
nat-anchor \"com.apple/*\" all
rdr-anchor \"com.apple/*\" all
" | sudo pfctl -ef -
sudo pfctl -s nat
Jawaban:
Untuk meneruskan semua lalu lintas port 80 ke port 8080, Anda dapat memasukkan yang berikut dari baris perintah Terminal.
Diambil dari https://salferrarello.com/mac-pfctl-port-forwarding/
sumber
sudo pfctl -F all -f /etc/pf.conf
,, dan untuk menampilkan aturan penerusan port Anda saat ini,sudo pfctl -s nat
pf.conf
fileCara modern untuk meneruskan port di El Capitan sedang digunakan
pf
. Dalam contoh di bawah ini, semua permintaan port 80 diteruskan ke port 8080 pada host yang sama. Harap sesuaikan pengalihan dengan kebutuhan Anda.Buat file anchor org.user.forwarding di /private/etc/pf.anchors
dengan konten berikut dan baris kosong yang tertinggal
atau
Ubah file /private/etc/pf.conf tetapi simpan baris kosong yang tertinggal
file asli:
untuk
Parsing dan uji file anchor Anda untuk memastikan tidak ada kesalahan:
Sekarang ubah /System/Library/LaunchDaemons/com.apple.pfctl.plist dari
untuk
Anda harus menonaktifkan Perlindungan Integritas Sistem untuk mencapai ini. Setelah mengedit file SIP diaktifkan kembali. Setelah reboot Mac pf Anda akan diaktifkan (itulah opsi -e).
Atau Anda dapat membuat daemon peluncuran Anda sendiri mirip dengan jawaban di sini: Menggunakan Server 5.0.15 untuk berbagi internet TANPA berbagi internet .
Setelah sistem memperbarui atau memutakhirkan beberapa file asli di atas mungkin telah diganti dan Anda harus menerapkan kembali semua perubahan.
Jika Anda ingin meneruskan di berbagai antarmuka Anda harus mengaktifkan ini di /etc/sysctl.conf:
sumber
ping
adalah teman Anda dalam mendiagnosis masalah jaringan.Untuk memperluas solusi dari jawaban @ sal-ferrarello, saya membuat dua Script Shell super-dasar untuk mengaktifkan atau menonaktifkan pengalihan tanpa mengurangi entri yang sudah ada di
pf
.I. Pertama temukan entri apa yang sudah Anda miliki dengan:
sudo pfctl -s nat
Output saya seperti:
Yang menarik bagi kami adalah entri aktual jadi ommit dua baris info pertama.
II Buat
enable.sh
skrip:Dua baris pertama setelah itu
echo
adalah entri yang sudah ada di sana. Baris ketiga adalah dengan redirect baru - dalam hal ini 80 hingga 8080. Pada akhirnya kami memanggilsudo pfctl -s nat
untuk melihat apakah perubahan diterapkan.AKU AKU AKU. Buat
disable.sh
skrip:Mirip dengan
enable.sh
kita membuat skrip, tetapi tanpa 80-> 8080 redirect, tetapi dengan entri yang sudah ada sebelumnya:sumber