Meneruskan Port pada Centos 7

9

Saya sedang bekerja pada server CentOS 7 dan saya mencoba untuk membuat JBoss bekerja seperti yang saya inginkan juga. Saya menjalankan Java 8 dan JBoss (liar) 8. Saya telah menginstal dan bekerja pada port default, tetapi saya ingin agar JBoss bekerja pada port 80. Saya tahu saya bisa membuatnya berfungsi pada port 80 jika saya jalankan sebagai root, tapi saya tahu itu bukan ide yang baik dan saya tidak ingin menjalankannya sebagai root.

Saya telah mencoba meneruskan port 80 ke 8080, tetapi saya belum membuatnya berfungsi. Saya pikir saya kehilangan langkah, tetapi saya tidak tahu apa yang saya lewatkan.

Saya menggunakan firewall-cmd. Saya telah membuka kedua port (80 & 8080) dan saya telah mengaktifkan penyamaran untuk zona publik. Saya juga telah menggunakan perintah ini untuk meneruskan port

firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.  

Ada yang tahu apa yang saya lewatkan?

zzzsys
sumber
Apa yang salah dengan menjalankan httpd atau nginx di depannya?
Michael Hampton
Tidak ada, saya berusaha untuk tidak melakukannya jika saya bisa membantu.
zzzsys

Jawaban:

10

Saya baru saja menemukan cara yang memungkinkan ini untuk saya:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=3001 --permanent
just_user
sumber
1
perbaiki +1 untuk Anda. Saya harus melakukan banyak perjuangan untuk sampai ke sini.
Guru
FirewallD tidak berjalan
Steve Yakovenko
@SteveYakovenko kemudian memulainya adalah langkah pertama yang baik.
just_user
0

firewall-cmdAdd-forward-port akan menambahkan aturan ke PREROUTINGrantai NAT, yang hanya berlaku untuk paket yang dibuat secara eksternal. Jika Anda mencoba untuk terhubung ke localhost (atau IP lokal server) pada port 80 di server itu akan gagal karena paket-paket itu tidak pernah lewat PREROUTING.

Jika Anda terhubung ke port 80 dari sumber eksternal, maka firewall-cmdAnda yang terdaftar harus bekerja dengan baik. Saya sarankan memverifikasi bahwa antarmuka Anda sebenarnya di zona 'publik'.

Anda juga dapat menjalankan perintah berikut untuk mendapatkan jumlah paket pada aturan untuk memastikan itu benar-benar dipukul:

iptables -t nat -vnL | grep 8080 -B1

Jika jumlah paket bertambah pada setiap percobaan, maka firewall berfungsi dengan baik dan Anda memiliki beberapa masalah di luar firewall (mungkin ACL di JBOSS?). Jika paket tidak bertambah pada setiap percobaan, aturan firewall tidak terkena sama sekali, menunjukkan bahwa Anda berada di zona yang salah atau ada aturan lain yang mendahului aturan penerusan port.

alienth
sumber
Terima kasih, saya akan memeriksanya. Koneksi dari sumber eksternal.
zzzsys