Ping: sendmsg: operasi tidak diizinkan kesalahan setelah menginstal iptables di Arch GNU / Linux

15

Kemarin saya mendapat komputer baru sebagai homeserver saya, sebuah HP Proliant Microserver. Diinstal Arch Linux di atasnya, dengan kernel versi 3.2.12.

Setelah menginstal iptables (1.4.12.2 - AFAIK versi saat ini) dan mengubah net.ipv4.ip_forwardkunci menjadi 1, dan memungkinkan penerusan dalam file konfigurasi iptables (dan me-reboot), sistem tidak dapat menggunakan antarmuka jaringannya. Ping gagal

Ping: sendmsg: operation not permitted

Jika saya menghapus iptables sepenuhnya, jaringan tidak apa-apa, tetapi saya perlu berbagi koneksi Internet ke jaringan lokal.

eth0 - ingin NIC terintegrasi pada motherboard (Broadcom NetXtreme BCM5723).

eth1 - lan NIC dalam slot pci-express (Intel 82574L Gigabit Network)

Karena berfungsi tanpa iptables (server dapat mengakses internet, dan saya dapat masuk dengan ssh dari jaringan internal), saya menganggap itu ada hubungannya dengan iptables. Saya tidak punya banyak pengalaman dengan iptables, jadi saya menggunakan ini sebagai referensi (tentu saja terpisah satu sama lain ...):

wiki.archlinux.org/index.php/Simple_stateful_firewall#Setting_up_a_NAT_gateway

revsys.com/writings/quicktips/nat.html

howtoforge.com/nat_iptables

Di server saya sebelumnya, saya menggunakan panduan revsys untuk mengatur nat, bekerja seperti mantra.

Adakah yang pernah mengalami hal seperti ini sebelumnya? Apa yang saya lakukan salah?

estol
sumber

Jawaban:

23

Pesan kesalahan:

Ping: sendmsg: operation not permitted

berarti server Anda tidak diizinkan mengirim paket ICMP. Anda harus mengizinkan server Anda untuk mengirim lalu lintas melalui satu atau lebih dari antarmuka yang dikonfigurasi. Anda dapat melakukannya dengan:

  1. Tetapkan OUTPUTkebijakan berantai ACCEPTuntuk mengizinkan semua lalu lintas keluar dari kotak Anda:

    sudo iptables -P OUTPUT ACCEPT
    
  2. Tetapkan OUTPUTkebijakan berantai ke DROPlalu izinkan jenis lalu lintas yang Anda butuhkan.

Ini berlaku untuk semua rantai tidak hanya OUTPUTrantai. INPUTrantai mengontrol lalu lintas yang diterima oleh kotak Anda. FORWARDpenawaran rantai dengan lalu lintas diteruskan melalui kotak.

Khaled
sumber
Ping hanyalah sebuah contoh, tidak dapat mengirim paket udp, atau paket tcp ...
estol
Meskipun demikian, ide yang sama berlaku
Khaled
Mencoba apa yang Anda katakan, hasil yang sama. Mendapat aturan dari server lama, ini sebagian berfungsi. Klien apa pun, dapat mencari nama domain, bahkan dapat melakukan ping, tetapi tidak dapat menelusuri web. Saya menginstal proxy sebagai solusi (karena koneksi di server baik-baik saja, sama seperti koneksi ke server) tetapi banyak layanan tidak berfungsi (Trillian, Skype) dengan cara ini.
estol
Apa perintah untuk mengatur kebijakan rantai keluaran untuk menerima ??
Joseph Astrahan
4
@ JosephephAstrahan:sudo iptables -P OUTPUT ACCEPT
Khaled
1

Bagi saya, pada Debian 9, itu membantu hanya menginstal ulang ping:

apt-get install --reinstall iputils-ping 
Dawid Ferenczy Rogožan
sumber