Thiết lập hai cấu hình mạng có thể nhưng chỉ sử dụng một cấu hình


1

Tôi có một công cụ có giao diện mạng thông qua một raspberry pi chạy rasbian. Tôi đang cố gắng thiết lập tệp giao diện để nó sẽ tự động hoạt động trong cả các mạng con của chúng tôi với một IP tĩnh. Về cơ bản khi trong mạng con 0 (hoặc mặc định), nó sẽ có các mục sau:

auto eth0
iface eth0 inet static
    address 192.168.0.77
    netmask 255.255.255.0
    gateway 192.168.0.254

Và khi ở mạng con khác (1) thì phải có:

auto eth0
iface eth0 inet static
    address 192.168.1.77
    netmask 255.255.255.0
    gateway 192.168.1.254

Nỗ lực cuối cùng của tôi là như sau:

# etc/networking/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.0.77
    netmask 255.255.255.0
    gateway 192.168.0.254
    up ip route add default via 192.168.1.254 table cbs
    up ip rule add from 192.168.1.77 table cbs
    up ip route add default via 192.168.0.254

auto eth0:0
iface eth0:0 inet static
    address 192.168.1.77
    netmask 255.255.255.0

Lý do không sử dụng DHCP là để thiết bị có thể được kết nối trực tiếp với máy tính xách tay (không có bộ định tuyến) và vẫn sẽ có một IP được biết đến. Vấn đề với thiết lập hiện tại là khi trên mạng con 0, mọi gói được chuyển hướng đến mạng con 1 sẽ từ 192.168.1.77 và sau đó sẽ được chuyển đến 192.168.1.254, chỉ có sẵn qua 192.168.0.254. Cách tốt nhất để có được xung quanh này là gì? Có lẽ một tập lệnh khi khởi động sẽ phát hiện ra nó thuộc mạng nào và đặt cổng và IP mặc định cho phiên đó? Và làm thế nào tôi thực hiện điều này?

Hoặc có một phương pháp yêu cầu một địa chỉ cụ thể thông qua DHCP?

Câu trả lời:


3

Cuối cùng, tôi đã sửa đổi câu trả lời từ Nath (cảm ơn!). Tệp giao diện của tôi bây giờ trông như thế này:

# etc/networking/interfaces
auto lo
iface lo inet loopback

iface eth0 inet manual

Và dhcpcd.conf của tôi có phần này được nối thêm:

# etc/dhcpcd.conf
interface eth0
arping 192.168.1.254
arping 192.168.0.254
fallback nicutpi2

profile 192.168.1.254
static ip_address=192.168.1.77
static routers=192.168.1.254
static domain_name_servers=192.168.1.254

profile 192.168.0.254
static ip_address=192.168.0.77
static routers=192.168.0.254
static domain_name_servers=192.168.0.254

profile nicutpi2
static ip_address=192.168.0.77

Các arpings được chạy qua để tìm kiếm một máy chủ phù hợp (lưu ý đây có thể là bất kỳ ip nào được bật liên tục, không chỉ máy chủ DHCP) trên mạng cục bộ, nếu tìm thấy nó sử dụng cấu hình tương ứng. Nếu không tìm thấy hồ sơ, nó chạy trên DHCP tiêu chuẩn. Nếu không có máy chủ DHCP trên mạng (về mặt kỹ thuật DHCP bị lỗi), nó sẽ áp dụng cấu hình dự phòng.

ĐIỂM QUAN TRỌNG:

  • Điều này đòi hỏi gói dhcpcd5 (không phải dhcpcd), đi kèm tiêu chuẩn với Jessie raspbian nhưng không phải Wheezy (tôi phải cài đặt trên Wheezy)

  • Xung đột iputils-arping với arping được sử dụng trong dhcpcd.conf, nếu bạn có điều này, bạn sẽ cần gỡ cài đặt và thực hiện cài đặt dhcpcd5 sạch.


1

Máy chủ DHCP có thể được cấu hình để cung cấp cùng một địa chỉ IP cho cùng Ethernet MAC. Điều đó sẽ cho phép bạn nhận được cùng một IP mọi lúc.


1

Tôi nghĩ rằng cách tốt nhất của bạn là thực hiện gán DHCP tĩnh khi được kết nối với mạng và sau đó sử dụng fallback profile tùy chọn dhcpcd.conf để máy khách dhcp chỉ tạo một IP tĩnh khi nó không thể nhận được một từ dhcp, đây là một cấu hình khá phổ biến đối với một quả mâm xôi pi, hãy xem https://raspberrypi.stackexchange.com/questions/37920/how-do-i-set-up-networking-wifi-static-ip để biết thêm chi tiết về cách sử dụngfallback profile

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.