Ping: sendmsg: lỗi không được phép hoạt động sau khi cài đặt iptables trên Arch GNU / Linux


15

Hôm qua tôi có một máy tính mới là máy chủ gia đình của tôi, Máy chủ Kính hiển vi HP. Đã cài đặt Arch Linux trên đó, với phiên bản kernel 3.2.12.

Sau khi cài đặt iptables (1.4.12.2 - phiên bản hiện tại AFAIK) và thay đổi net.ipv4.ip_forwardkhóa thành 1 và cho phép chuyển tiếp trong tệp cấu hình iptables (và khởi động lại), hệ thống không thể sử dụng bất kỳ giao diện mạng nào. Ping thất bại với

Ping: sendmsg: operation not permitted

Nếu tôi loại bỏ hoàn toàn iptables, mạng vẫn ổn, nhưng tôi cần chia sẻ kết nối Internet với mạng cục bộ.

eth0 - wan NIC được tích hợp trên bo mạch chủ (Broadcom NetXtreme BCM5723).

eth1 - lan NIC trong khe cắm pci-express (Mạng Gigabit Intel 82574L)

Vì nó hoạt động mà không có iptables (máy chủ có thể truy cập internet và tôi có thể đăng nhập bằng ssh từ mạng nội bộ), tôi cho rằng nó có liên quan đến iptables. Tôi không có nhiều kinh nghiệm với iptables, vì vậy tôi đã sử dụng chúng làm tài liệu tham khảo (tất nhiên tách biệt với nhau ...):

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

revsys.com/writings/quicktips/nat.html

howtoforge.com/nat_iptables

Trên máy chủ trước đây của tôi, tôi đã sử dụng hướng dẫn revsys để thiết lập nat, hoạt động như một lá bùa.

Bất cứ ai đã trải nghiệm bất cứ điều gì như thế này trước đây? Tôi đang làm gì sai?

Câu trả lời:


23

Thông báo lỗi:

Ping: sendmsg: operation not permitted

có nghĩa là máy chủ của bạn không được phép gửi các gói ICMP. Bạn cần cho phép máy chủ của mình gửi lưu lượng truy cập thông qua một hoặc nhiều giao diện được định cấu hình. Bạn có thể làm điều này bằng cách:

  1. Đặt OUTPUTchính sách chuỗi ACCEPTđể cho phép tất cả lưu lượng truy cập đi từ hộp của bạn:

    sudo iptables -P OUTPUT ACCEPT
    
  2. Đặt OUTPUTchính sách chuỗi thành DROPvà sau đó cho phép chọn lọc loại lưu lượng bạn cần.

Điều này áp dụng cho tất cả các chuỗi không chỉ OUTPUTchuỗi. INPUTchuỗi kiểm soát lưu lượng nhận được bởi hộp của bạn. FORWARDgiao dịch chuỗi với giao thông chuyển tiếp qua hộp.


Ping chỉ là một ví dụ, không thể gửi các gói udp, cũng không phải các gói tcp ...
estol

Mặc dù, ý tưởng tương tự cũng được áp dụng
Khaled

Đã thử những gì bạn nói, kết quả tương tự. Có các quy tắc từ máy chủ cũ, điều này một phần hoạt động. Bất kỳ khách hàng nào, có thể tra cứu tên miền, thậm chí có thể ping chúng, nhưng không thể duyệt web. Tôi đã cài đặt proxy như một cách giải quyết (vì kết nối trên máy chủ vẫn ổn, giống như kết nối với máy chủ) nhưng rất nhiều dịch vụ không hoạt động (Trillian, Skype) theo cách này.
estol

Lệnh đặt chính sách chuỗi đầu ra chấp nhận là gì ??
Joseph Astrahan

4
@JosephAstrahan:sudo iptables -P OUTPUT ACCEPT
Khaled

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.