Commando iptables dan Distro Ubuntu Linaro Desktop


0

Saya memiliki mesin Raspberry, dengan distro Linux "Raspbian". Saya telah menyiapkan server web kecil dan saya tidak punya masalah.

Sekarang, saya memiliki mesin Cu-Box I, dengan distro Linux "Ubuntu Linaro Desktop". Tapi, sayangnya saya memiliki kesalahan dengan mengeksekusi commando berikut, ketika saya mencoba untuk mengalihkan semua permintaan dari port 80 ke port 8080 (penerusan sederhana). Komando adalah sebagai berikut:

$: sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 80

Jadi, oleh Distro Raspbian dan oleh semua distro lain saya tidak punya masalah dengan komando ini. Tetapi di Distro "Ubuntu Linaro Desktop", OS mengatakan kepada saya bahwa tabel "nat" tidak ada, dan mungkin saya harus mengkompilasi ulang dan memutakhirkan kernel saya - bagi saya itu bukan solusi terbaik.

Namun, tolong teman-teman, bisakah Anda memberi tahu saya bagaimana saya bisa menghindari perintah ini dan menggunakan yang lain sebagai gantinya


Linaro versi apa yang Anda jalankan? Masalah itu diketahui dan diperbaiki beberapa tahun yang lalu, jika ingatanku baik.
MariusMatutiae

Versi ini adalah sebagai berikut: login sebagai: linaro linaro@89.215.43.108's password: Selamat datang di Linaro 11.10 (cabang pengembangan) (GNU / Linux 3.0.35-gbe699c6-dirty armv7l)
user3157099

Distribusi ini hadir khusus sebagai Linux untuk Cu Box-i v2. Nama gambar adalah: ubuntu-oneiric-freescale.img yang melayani distro linaro di atas, tetapi saya pikir ini spesial untuk ARMv7 archit. Saya telah mencoba memutakhirkan 12,04 LTS, setelah peningkatan 3 jam, saya telah menerima pesan kesalahan. Mungkin info ini dapat membantu Anda menjawab pertanyaan saya. Terima kasih.
user3157099

Tidak, tidak bisa dilakukan. Anda dapat membaca di sini, bugs.launchpad.net/linaro-ubuntu/+bug/912319 , laporan bug. Ini mempengaruhi Linaro 12.01 dan sebelumnya, kernel Linux linaro-developer 3.1.1-5-linaro-lt-omap # 5 ~ lt ~ ci ~ 20111218011838 + 020210-Ubuntu SMP PREEMPT Senin 19 Desember: armv7l armv7l armv7l GNU / Linux , yang lebih lambat dari milikmu.
MariusMatutiae

Terima kasih Marius, saya setuju, itu adalah masalah yang sangat besar bagi orang-orang, yang hanya ingin mengarahkan ulang port 80-an. Tidak bisa dipercaya ...
user3157099

Jawaban:


0

Jika yang Anda butuhkan adalah mengarahkan ulang port 80, maka Anda dapat melakukannya sebagai berikut:

  mkfifo my_pipe
  nc -l 80 0<my_pipe | nc remote_host 80 1>my_pipe

jika Anda ingin mengarahkan ulang ke pc lain, atau

  mkfifo my_pipe
  nc -l 80 0<my_pipe | nc loclhost 10000 1>my_pipe

jika Anda ingin mengarahkan ulang ke port 10000 dari PC Anda sendiri.

Edit:

jika Anda ingin ini berlanjut tanpa batas, cukup tambahkan opsi -k ke instance pertama dari nc .


Ya, Marius, itu berfungsi tetapi hanya untuk permintaan pertama. Itu berarti, saya meletakkan komando, bash sedang menunggu, saya membuat permintaan, komando mengisinya dan bekerja, dan setelah itu bash menunggu baris komando berikutnya - ini berarti pengalihan hanya datang satu kali. Ketika saya meletakkan komando lagi, itu berfungsi tetapi hanya untuk permintaan browser pertama. Jadi pertanyaan saya adalah - bagaimana saya bisa membuat komando Anda permanen !!! Untuk setiap permintaan, yang berasal dari komputer lain (browser ..). Terima kasih.
user3157099

@ user3157099 Silakan lihat edit saya
MariusMatutiae

Terima kasih, Marius, ini bekerja dengan opsi "-k". Saya pikir saya yang memecahkan masalah saya. Tahu di mana tempat terbaik oleh ubuntu linaro, tanpa desktop (startX), untuk menempatkan komando ini sehingga mulai otomatis dengan reboot?
user3157099

@ user3157099 Jika berhasil, Anda harus menerima dan meningkatkan jawaban saya, terima kasih.
MariusMatutiae

@ user3157099 Tempat yang aman adalah /etc/rc.local
MariusMatutiae
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.