OpenVPN - Hiểu bảng định tuyến + Cách chỉ định tuyến lưu lượng đến một ip cụ thể thông qua VPN


12

Tôi đang kết nối với dịch vụ VPN bằng OpenVPN và mọi thứ đều hoạt động tốt. Khi tôi kết nối, đây là các quy tắc tự động được đặt:

root@linux:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:AA:1B:01:AC:FB  
          inet addr:192.168.1.201  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:46867 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29742 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37977382 (36.2 MiB)  TX bytes:5098121 (4.8 MiB)
          Interrupt:16 

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.7.7.126  P-t-P:10.7.7.125  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:23284 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:31366374 (29.9 MiB)  TX bytes:308591 (301.3 KiB)

root@linux:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.7.7.125      128.0.0.0       UG    0      0        0 tun0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
5.120.121.114   192.168.1.1     255.255.255.255 UGH   0      0        0 eth0
10.7.7.1        10.7.7.125      255.255.255.255 UGH   0      0        0 tun0
10.7.7.125      *               255.255.255.255 UH    0      0        0 tun0
128.0.0.0       10.7.7.125      128.0.0.0       UG    0      0        0 tun0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0

Đây là những gì tôi hiểu:

  • địa chỉ IP cục bộ của tôi là 192.168.1.201
  • cổng cục bộ là 191.168.1.1
  • 5.120.121.114 là ip công cộng VPN
  • tun0 là đường hầm VPN, máy của tôi có 10.7.7.126 làm địa chỉ
  • 10.7.7.125 là địa chỉ ptp tôi hiểu là "kết thúc" khác của VPN

Về bảng định tuyến tôi hiểu rằng:

  • theo mặc định, tất cả lưu lượng được gửi qua 10.7.7.125 trên giao diện tun0 (nhưng tại sao mặt nạ đó?)
  • 10.7.7.1 có thể truy cập thông qua tun0
  • Có thể truy cập ip công khai của vpn thông qua eth0

Tôi không hiểu cổng mặc định thứ hai, đây là mặc định khi vpn không hoạt động, có phải nó bị bỏ qua không?

10.7.7.1 thì sao? có vẻ như nó là cửa ngõ của vpn ...

Tại sao đích 128.0.0.0?

OpenVPN tự động tạo ra tất cả các quy tắc này. Nhưng dựa trên những gì được tạo ra?

Tôi không thể kiểm soát phía máy chủ của VPN mà chỉ cấu hình máy khách.

Bây giờ nếu tôi muốn:

  • buộc tất cả lưu lượng truy cập đến 216.58.213.174 để đi qua VPN tun0 và tất cả phần còn lại sẽ đi qua eth0?
  • Tôi có thể thiết lập tự động khi khởi động VPN không?

Cảm ơn bạn đã gợi ý và hỗ trợ trong việc hiểu điều này.

KR, dk

BIÊN TẬP:

root@linux:~# ip route list
0.0.0.0/1 via 10.7.7.125 dev tun0 
default via 192.168.1.1 dev eth0 
5.152.210.249 via 192.168.1.1 dev eth0 
10.7.7.1 via 10.7.7.125 dev tun0 
10.7.7.125 dev tun0  src 10.7.7.126 
128.0.0.0/1 via 10.7.7.125 dev tun0 
192.168.1.0/24 dev eth0  src 192.168.1.201 

1
Chỉ 2 xu của tôi: Sử dụng ip route listđể có cái nhìn rõ hơn về các tuyến đường của bạn. Ngoài ra, vì ifconfig và tuyến đường nằm trên đường của nó, nên không dùng nữa trên LInux ...

Câu trả lời:


15

Tôi không hiểu cổng mặc định thứ hai, đây là mặc định khi vpn không hoạt động, có phải nó bị bỏ qua không?

Đây là một trong những hack của OpenVPN để định tuyến lưu lượng qua đường hầm của bạn trong khi duy trì cổng mặc định của bạn. Các tuyến 0.0.0.0/1 và 128.0.0.0/1 được ưu tiên hơn so với tuyến 0.0.0.0/0 vì chúng cụ thể hơn trong khi vẫn khớp với tất cả các địa chỉ. Tìm kiếm "def1" trong tài liệu OpenVPN để biết thêm chi tiết

10.7.7.1 thì sao? có vẻ như nó là cửa ngõ của vpn ...

Chắc là đúng

OpenVPN tự động tạo ra tất cả các quy tắc này. Nhưng dựa trên những gì được tạo ra?

Họ có thể được đẩy từ máy chủ. Tôi có thể cung cấp thêm thông tin nếu bạn có thể cung cấp đầu ra từ máy khách của mình trong khi nó bắt đầu cùng với tệp cấu hình của bạn

Tôi không thể kiểm soát phía máy chủ của VPN mà chỉ cấu hình máy khách.

Đúng, nhưng máy khách có cấu hình cao để bạn có thể ghi đè lên hầu hết mọi thứ mà máy chủ muốn máy khách của bạn thực hiện. Tuy nhiên, bạn sẽ cần phải đáp ứng các yêu cầu cơ bản của nhà cung cấp để kết nối. Bạn cũng nên kiểm tra "Điều khoản sử dụng" của nhà cung cấp để đảm bảo rằng bạn sẽ không khiến họ bực mình.

Bây giờ nếu tôi muốn:

buộc tất cả lưu lượng truy cập đến 216.58.213.174 để đi qua VPN tun0 và tất cả phần còn lại sẽ đi qua eth0?

Đúng, bao gồm "tuyến đường 216.58.213.174 255.255.255.255 10.7.7.125" trong cấu hình của bạn. Điều đó sẽ thiết lập lộ trình mong muốn của bạn. Bạn sẽ có thể giữ các tuyến khác của mình tại chỗ bằng cách xóa tùy chọn "cổng chuyển hướng" khỏi cấu hình của bạn

Tôi có thể thiết lập tự động khi khởi động VPN không?

vâng, xem ở trên

Tất cả các tùy chọn tôi đã mô tả và nhiều hơn nữa có thể được tìm thấy trong tài liệu trực tuyến của OpenVPN. https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage


Rất, rất nhiều cảm ơn bạn !!! Tôi đã dành nhiều ngày lục lọi trong các chi tiết mạng cố gắng để hiểu được mẹo nhỏ dễ thương với 0.0.0.0/1 và 128.0.0.0/1. Cuối cùng, tôi chỉ phải thêm một tuyến đường hoàn toàn dư thừa trừ khi bật VPN.
rủ rê
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.