Làm cách nào để vô hiệu hóa hoàn toàn, linh hoạt ngăn xếp IPv4 khỏi Linux?


17

Làm cách nào tôi có thể vô hiệu hóa ngăn xếp IPv4 khỏi Linux? Tôi muốn làm điều đó một cách linh hoạt , tức là đôi khi tôi muốn nó được kích hoạt và đôi khi tôi chỉ muốn ngăn xếp IPv6 . Có cách nào di động để làm điều đó? Nếu bạn biết cách làm điều đó trong bất kỳ bản phân phối nào, nó cũng sẽ giúp tôi rất nhiều.


2
@kasperd Không có gì thay đổi kể từ năm 2011
Michael Hampton

Câu trả lời:


21

Sau một cuộc trò chuyện nhỏ trên IRC, ý kiến ​​chung là hạt nhân linux chia sẻ một số mã giữa ipv4 và ipv6, và điều đó có thể khiến việc vô hiệu hóa hoàn toàn ipv4 là không thể. Bạn có thể cố gắng biên dịch kernel mà không có các phần ipv4 nhưng ipv6 có thể không biên dịch trong trường hợp này (nhưng không có gì ngăn bạn thử!).

Bạn có thể xóa địa chỉ ipv4 khỏi các giao diện, AFAIK, nhưng tôi không nghĩ rằng tại thời điểm này có thể vô hiệu hóa hoàn toàn ipv4.

EDIT: Sau khi kiểm tra nhanh make menuconfigtrên kernel 2.6.36, tôi không thể tìm cách vô hiệu hóa ipv4 mà không vô hiệu hóa toàn bộ ngăn xếp TCP / IP (và do đó, ipv6).


4

Nếu điều này là dành cho các nhà phát triển, thì "can thiệp thư viện" có thể được sử dụng, với LD_PRELOAD một số thư viện được mã hóa với các hàm còn sơ khai chỉ trả về lỗi (hoặc gọi các hàm thực tùy thuộc vào ngày trong tuần hoặc một số tiêu chí bên ngoài khác).


2

Tôi không nghĩ có thể vô hiệu hóa hoàn toàn IPv4, nhưng tùy thuộc vào mục tiêu của bạn, giảm tất cả lưu lượng truy cập IPv4 iptablescó thể là đủ, phải không?

Một cái gì đó như thế này sẽ làm việc. Tôi chưa thử nghiệm nó trên bất kỳ máy nào, vì tôi đang truy cập chúng thông qua IPv4.

sudo iptables -I INPUT -j DROP
sudo iptables -O OUTPUT -j DROP

1
Điều này sẽ chặn lưu lượng, đôi khi có thể hữu ích. nhưng nó sẽ không ngăn các chương trình ràng buộc một ổ cắm IPv4. Điều này là cần thiết để vô hiệu hóa hoàn toàn IPv4.
Michael Hampton

Những gì tôi đã làm trên một máy mà tôi chỉ cần chạy IPv6 là vô hiệu hóa ứng dụng khách DHCP /etc/network/interfaces.d. Nó không hoàn toàn giống như vô hiệu hóa IPv4 vì systemd-resolvedvẫn đang nghe 127.0.0.53:53. Nhưng nó đã đủ để giải quyết các nhu cầu tức thời của tôi và được ưu tiên nhiều hơn để gây rối iptables.
kasperd

1

Chủ yếu là bạn nên biên dịch lại kernel của bạn mà không cần các mô đun ipv4. fedora

Bạn không thể vô hiệu hóa hoàn toàn vì hệ thống sử dụng giao diện loopback 127.0.0.1.
Nhưng bạn có thể vô hiệu hóa một số hàm ipv4 bằng lệnh if-cfg.

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.