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?