Paksa ubuntu untuk mengakses internet melalui proxy

2

Saya telah menyiapkan proxy squid forward untuk menyimpan semua permintaan internet. Saya memiliki ip publik dan membuka port 3128. Sekarang saya hanya perlu mengatur server ubuntu saya untuk memaksa semua koneksi internet melewati proxy ini, menggunakan alamat ip dan nomor port.

Saya tahu perintah ini yang akan membuat ubuntu mengakses internet melalui proxy, tetapi saya diberitahu itu tidak permanen.

export http_proxy="http://proxy.example.com:8080"

Perintah mana yang harus saya gunakan untuk memaksa ubuntu untuk pergi melalui proxy ini terlepas dari reboot atau sesi?

Terima kasih

jc.yin
sumber
Masukkan baris itu ke dalam~/.bash_profile
Tuan Anh Hoang-Vu

Jawaban:

1

Solusi yang diusulkan tidak dapat berfungsi dalam kasus umum - diasumsikan bahwa semuanya akan mengakui dan menggunakan variabel Lingkungan.

Untuk membuat ini berfungsi untuk HTTP, Anda perlu mengatur ua "Transparent Proxy", yang umumnya memerlukan aturan natrium IPTABLES untuk menangkap dan mengarahkan lalu lintas. Lihat di sini untuk cara melakukan ini.

Melakukan hal yang sama untuk HTTPS adalah praktis tetapi Anda perlu menginstal CA di SQUID dan menerimanya di kotak Ubuntu sehingga dapat mencegat lalu lintas.

Ini mungkin tidak praktis dengan FTP (Saya belum mencobanya)

davidgo
sumber
0

Anda harus mengatur beberapa pengaturan/etc/environment agar permanen:

  • Buka /etc/environmentfile dengan vi(atau editor favorit Anda). File ini menyimpan variabel seluruh sistem yang diinisialisasi saat boot.
  • Tambahkan baris berikut, modifikasi dengan tepat. Anda harus menduplikasi dalam huruf besar dan kecil karena (sayangnya) beberapa program hanya mencari satu atau yang lain:

     http_proxy = http: //myproxy.server.com: 8080 /
    https_proxy = http: //myproxy.server.com: 8080 /
    ftp_proxy = http: //myproxy.server.com: 8080 /
    no_proxy = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    HTTP_PROXY = http: //myproxy.server.com: 8080 /
    HTTPS_PROXY = http: //myproxy.server.com: 8080 /
    FTP_PROXY = http: //myproxy.server.com: 8080 /
    NO_PROXY = "localhost, 127.0.0.1, localaddress, .localdomain.com" 
  • apt-get,, aptitudedll. tidak akan mematuhi variabel lingkungan saat digunakan dengan normal sudo. Jadi konfigurasikan secara terpisah; buat file bernama 95proxiesdalam /etc/apt/apt.conf.d/, dan meliputi:

     Acquire :: http :: proxy "http://myproxy.server.com:8080/";
    Acquire :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    Akuisisi :: https :: proxy "https://myproxy.server.com:8080/";   

Terakhir, logout dan reboot untuk memastikan perubahannya berlaku.

donothingloop
sumber
Benar, saya sudah melakukan semua langkah dan menambahkan pengaturan. Namun skrip CGI tampaknya mengabaikan aturan. Apa yang harus saya lakukan agar skrip CGI juga mematuhinya?
jc.yin
Apakah Anda sudah logout dan masuk setelah Anda mengubahnya?
donothingloop
Yah saya sudah me-reboot server .. jadi bukankah itu berarti saya sudah masuk dan keluar? Tapi tetap saja skrip CGI yang membuat koneksi internet di luar tampaknya mengabaikan aturan lingkungan yang luas
jc.yin
apakah kita masih perlu mengkonfigurasi url di browser untuk mengakses internet melalui proxy ?? (mis. di dalam pengaturan firefox> Konfigurasikan proxy untuk mengakses internet)
pkm