Điểm:0

Cách truy cập máy chủ Ubuntu trên hai ip công khai khác nhau

lá cờ cn

Tôi đang vật lộn với vấn đề hiện tại:

Thông tin nền: Ubuntu 20.04 trên Dell R710

Tôi có 2 kết nối internet khác nhau với 2 bộ định tuyến do isp cung cấp. Tôi đã kết nối eno2 với bộ định tuyến isp1 và nhận ip 192.168.2.102 thông qua hợp đồng thuê dhcp vĩnh viễn. Tôi đã kết nối eno3 với bộ định tuyến isp2 và nhận ip 192.168.88.254 thông qua hợp đồng thuê dhcp vĩnh viễn.

ip một

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
    liên kết/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    máy chủ phạm vi inet 127.0.0.1/8 lo
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
    inet6 ::1/128 máy chủ phạm vi
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq trạng thái DOWN nhóm mặc định qlen 1000
    liên kết/ether d4:be:d9:ee:7b:75 brd ff:ff:ff:ff:ff:ff
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq trạng thái nhóm LÊN mặc định qlen 1000
    liên kết/ether d4:be:d9:ee:7b:77 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.102/24 brd 192.168.2.255 phạm vi toàn cầu động noprefixroute eno2
       hợp lệ_lft 41588sec ưa thích_lft 41588sec
    liên kết phạm vi inet6 fe80::d6be:d9ff:feee:7b77/64
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
4: eno3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq trạng thái nhóm LÊN mặc định qlen 1000
    liên kết/ether d4:be:d9:ee:7b:79 brd ff:ff:ff:ff:ff:ff
    inet 192.168.88.254/24 brd 192.168.88.255 phạm vi toàn cầu động noprefixroute eno3
       hợp lệ_lft 486 giây ưa thích_lft 486 giây
    liên kết phạm vi inet6 fe80::d6be:d9ff:feee:7b79/64
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
5: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq trạng thái DOWN nhóm mặc định qlen 1000
    liên kết/ether d4:be:d9:ee:7b:7b brd ff:ff:ff:ff:ff:ff
...

netstat -rn

Bảng định tuyến IP hạt nhân
Cổng đích Cờ genmask Cửa sổ MSS irtt Iface
0.0.0.0 192.168.88.1 0.0.0.0 UG 0 0 0 eno3
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eno2
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eno2
192.168.88.0 0.0.0.0 255.255.255.0 U 0 0 0 eno3

Vấn đề là tôi chỉ có thể truy cập máy chủ trên 1 IP công cộng (ngẫu nhiên) tại một thời điểm nếu ở ngoài lan. Nếu có thể truy cập 77.xx.xx.158 (isp 2), 5.xx.xx.55 (isp 1) không thể truy cập và ngược lại, ngẫu nhiên sau mỗi lần khởi động.

Tôi cần có thể truy cập máy chủ trên bất kỳ ip công khai nào vào bất kỳ thời điểm nào.

Cảm ơn bạn trước cho bất kỳ giải pháp khả thi.

FedKad avatar
lá cờ cn
Điều này là bình thường vì các gói có thể được định tuyến qua bất kỳ giao diện nào trong hai giao diện (và không có ưu tiên nào). Làm thế nào để bạn "truy cập" máy chủ của bạn? Nếu đó là ssh, bạn có thể bắt đầu một phiên bản ssh lắng nghe trên một cổng nói 22 và liên kết với một giao diện, và một phiên bản khác lắng nghe một cổng khác (giả sử 2222) và liên kết với giao diện khác.
Điểm:1
lá cờ br

Bạn có hai tuyến đường mặc định khi va chạm:

Bảng định tuyến IP hạt nhân
Cổng đích Cờ genmask Cửa sổ MSS irtt Iface
0.0.0.0 192.168.88.1 0.0.0.0 UG 0 0 0 eno3
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eno2

Đây là tình huống bất thường. PC/máy chủ của bạn đang bối rối vì không có quy tắc chính xác nào để quyết định nên sử dụng giao diện nào trong hai giao diện làm cổng vào Internet. Quyết định định tuyến phụ thuộc vào các số liệu được đặt động cho các giao diện hoặc các yếu tố khác, có thể thay đổi ngẫu nhiên. Do đó, đôi khi giao diện eno2 và đôi khi eno3 được ưu tiên làm cổng chính.

Tôi cho rằng các gói đến từ bên ngoài vào bên trong sẽ đến được máy chủ của bạn đúng cách theo địa chỉ IP được sử dụng làm đích (từ quan điểm của người dùng bên ngoài).

  • Gói SYN TCP được gửi từ Internet đến địa chỉ công cộng ISP1 đi qua eno2
  • Gói SYN TCP được gửi từ Internet đến địa chỉ công cộng ISP2 đi qua eno3

Bạn có thể kiểm tra nó bằng Wireshark hoặc Tshark hoặc tcpdump.

Nhưng gói phản hồi (SYN ACK TCP) CHỈ được gửi lại qua CỔNG GATEWAY CHÍNH được chọn bởi hệ thống tại thời điểm này. Chỉ một GW từ hai được ưu tiên và thứ hai KHÔNG ĐƯỢC SỬ DỤNG cùng một lúc (ngoại trừ bạn thực hiện một số cài đặt đặc biệt). Điều đó có nghĩa là kết nối được nhắm mục tiêu đến một giao diện hoạt động tốt, nhưng kết nối thứ hai được phản hồi thông qua giao diện sai. Tình huống này được gọi là "định tuyến không đối xứng". Gói đi qua eno3 và phản hồi rời đi qua eno2, ví dụ:

Các nhà cung cấp thường kiểm tra và loại bỏ gói như vậy vì nó giống như một cuộc tấn công mạng. Địa chỉ IP nguồn không khớp với địa chỉ mạng của giao diện nguồn.

Các quyết định định tuyến của máy chủ của bạn KHÔNG phụ thuộc vào giao diện được sử dụng cho cách gói đến, mà phụ thuộc vào cổng ra chính được ưu tiên thực sự. Cách đến và cách đi khác nhau đối với một số kết nối và đó là lý do gây ra sự cố của bạn.

Tình huống có thể được giải quyết bằng định tuyến nâng cao (ví dụ:định tuyến dựa trên chính sách và các bảng/quy tắc định tuyến riêng biệt đặc biệt cho mỗi giao diện). Tìm kiếm các ví dụ về iproute2.

Có lẽ những liên kết này có thể giúp bạn:

https://www.thomas-krenn.com/en/wiki/Two_Default_Gateways_on_One_System

https://tweenpath.net/multiple-default-gateways-system/

Dan Hendli avatar
lá cờ cn
Cảm ơn bạn! Tôi sẽ xem xét điều này

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.