Tôi đang cố định cấu hình hệ thống Linux, vì vậy trong quá trình khởi động/thêm modem mới (hiển thị dưới dạng usb0 giao diện ) bất kỳ phần mềm nào liên kết với giao diện modem (usb0) IP# sẽ sử dụng do GW/định tuyến của modem cung cấp thay vì định tuyến/GW mặc định của hệ thống.
Tôi đang cố gắng sử dụng systemd/networkd, nhưng vẫn không thành công :( bên dưới những gì tôi thử:
Đang có /etc/systemd/mạng/usb0.mạng [1] nên cấu hình giao diện với DHCP, đặt GW và mặc định trên bảng định tuyến 101 hay còn gọi là qua_usb0.
Đã cắm modem [2] Tôi thấy IP# được gán cho usb0 [3], bảng định tuyến chính sách được cập nhật với iif usb0/oif usb0 mục [4] và qua_usb0 bảng định tuyến được tạo [5].
Q1: Tại sao tôi không thể ping usb0 Bây giờ?
# ping 192.168.42.129
ping: kết nối: Không thể truy cập mạng
Định tuyến đến 192.168.42.129 phải được lấy từ bảng cục bộ [6], phải không?
Q2: Tại sao ping usb0 GW rõ ràng thông qua usb0 không thành công với các gói martian được ghi trong nhật ký hạt nhân [7] , mặc dù tôi có thể thấy chúng quay đi quay lại usb0 giao diện [8]?
# ping 192.168.42.129 -Tôi usb0
PING 192.168.42.129 (192.168.42.129) từ 192.168.42.20 usb0: 56(84) byte dữ liệu.
^C
--- Thống kê ping 192.168.42.129 ---
Truyền 2 gói, nhận 0 gói, mất gói 100%, thời gian 1016ms
Câu hỏi 3: Tại sao việc thêm quy tắc ip rõ ràng trên IP# nguồn usb0 lại giúp khắc phục sự cố từ quý 2?
Sau đó
thêm quy tắc ip từ bảng 192.168.42.20 pref 103 via_usb0
Tôi nhận được phản hồi ping (và không có người sao hỏa nào đăng nhập):
# ping 192.168.42.129 -Tôi usb0
PING 192.168.42.129 (192.168.42.129) từ 192.168.42.20 usb0: 56(84) byte dữ liệu.
64 byte từ 192.168.42.129: icmp_seq=1 ttl=64 time=0,674 ms
Không nên iif/oif quy tắc
101: từ tất cả tra cứu iif usb0 via_usb0
102: từ tất cả tra cứu oif usb0 qua_usb0
có đủ để sử dụng câu chuyện định tuyến via_usb0 không?
Q4: Có cách làm việc nào khác để đạt được mục tiêu của tôi không?
Đặc biệt cảm ơn vì bất cứ đóng góp nào.
[1]:
[Trận đấu]
Tên=usb0
[Mạng]
IPChuyển tiếp = có
DHCP=ipv4
DNSDefaultRoute=false
[DHCPv4]
Sử dụngRoutes=true
RouteTable=101
Sử dụngGateway=true
Sử dụngDNS=false
Sử dụngNTP=false
Sử dụngSIP=false
Sử dụng tên máy chủ = false
Tên miền sử dụng = sai
Sử dụng Múi giờ = sai
[Quy tắc chính sách định tuyến]
Gia đình = ipv4
Giao diện đến = usb0
Bảng = 101
Ưu tiên = 101
[Quy tắc chính sách định tuyến]
Gia đình = ipv4
OutgoingInterface=usb0
Bảng = 101
Ưu tiên = 102
[2]:
kernel: usb 1-1: thiết bị USB tốc độ cao mới số 6 sử dụng xhci_hcd
kernel: usb 1-1: Đã tìm thấy thiết bị USB mới, idVendor=04e8, idProduct=6860, bcdDevice= 4.00
kernel: usb 1-1: Chuỗi thiết bị USB mới: Mfr=2, Product=3, SerialNumber=4
hạt nhân: usb 1-1: Sản phẩm: SAMSUNG_Android
kernel: usb 1-1: Hãng sản xuất: SAMSUNG
hạt nhân: usb 1-1: Số sê-ri: 42000352b6245200
kernel: cdc_acm 1-1:1.1: ttyACM0: Thiết bị USB ACM
networkd-dispatcher[1068]: CẢNH BÁO: Đã nhìn thấy chỉ mục 6 không xác định, đang tải lại danh sách giao diện
systemd-udevd[13537]: Sử dụng sơ đồ đặt tên giao diện mặc định 'v245'.
systemd-udevd[13537]: ethtool: autonegotiation không được đặt hoặc bật, tốc độ và in hai mặt không thể ghi được.
systemd-networkd[13409]: usb0: Liên kết LÊN
systemd-networkd[13409]: usb0: Đã nhận được nhà cung cấp dịch vụ
[3]:
6: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 trạng thái qdisc fq_codel nhóm UNKNOWN mặc định qlen 1000
liên kết/ether 5a:a3:60:fd:ed:4a brd ff:ff:ff:ff:ff:ff
inet 192.168.42.20/24 brd 192.168.42.255 phạm vi toàn cầu động noprefixroute usb0
hợp lệ_lft 3491 giây ưa thích_lft 3491 giây
[4]:
# hiển thị quy tắc ip
0: từ tất cả tra cứu cục bộ
101: từ tất cả tra cứu iif usb0 via_usb0
102: từ tất cả tra cứu oif usb0 qua_usb0
32766: từ tất cả tra cứu chính
32767: từ tất cả tra cứu mặc định
[5]:
# bảng hiển thị lộ trình ip qua_usb0
mặc định qua 192.168.42.129 dev usb0 proto dhcp src 192.168.42.20 số liệu 1024
192.168.42.0/24 dev usb0 liên kết phạm vi proto dhcp src 192.168.42.20
192.168.42.129 dev usb0 liên kết phạm vi proto dhcp src 192.168.42.20 số liệu 1024
[6]:
# ip route hiển thị bảng cục bộ
phát sóng 10.41.0.0 dev tinc_korns liên kết phạm vi kernel proto src 10.41.1.2
local 10.41.1.2 dev tinc_korns phạm vi kernel proto máy chủ src 10.41.1.2
phát sóng 10.41.255.255 dev tinc_korns liên kết phạm vi kernel proto src 10.41.1.2
phát 127.0.0.0 dev lo liên kết phạm vi kernel proto src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel phạm vi máy chủ src 127.0.0.1
local 127.0.0.1 dev lo proto kernel phạm vi máy chủ src 127.0.0.1
phát 127.255.255.255 dev lo liên kết phạm vi kernel proto src 127.0.0.1
phát 192.168.42.0 dev usb0 liên kết phạm vi kernel proto src 192.168.42.20
local 192.168.42.20 dev usb0 proto kernel phạm vi máy chủ src 192.168.42.20
phát 192.168.42.255 liên kết phạm vi dev usb0 proto kernel src 192.168.42.20
[7]:
hạt nhân: IPv4: nguồn martian 192.168.42.20 từ 192.168.42.129, trên dev usb0
[8]:
# tcpdump -i usb0 -n
10:44:08.361514 IP 192.168.42.20 > 192.168.42.129: ICMP echo request, id 4, seq 1, độ dài 64
10:44:08.362095 IP 192.168.42.129 > 192.168.42.20: ICMP echo reply, id 4, seq 1, độ dài 64