Tại sao việc phân bổ IP tĩnh của máy khách trong OpenVPN không thành công?


8

Tôi đang chạy một máy chủ OpenVPN và tôi muốn gán một máy khách cụ thể một IP tĩnh.

Đây là máy chủ của tôi. Tôi nghĩ rằng điều này cấu hình nhóm IP ảo kéo dài từ 10.5.24.209 đến 10.5.24.223.

port 443
proto tcp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.5.24.208 255.255.255.240
#This netmask should span IPs .208-.223.
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 168.xx.xx.xx"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem
client-to-client
client-config-dir ccd

Đây là nội dung của /etc/openvpn/ccd/W7LocalVM, trong đó W7LocalVM là Tên chung của khách hàng của tôi. Tôi hoàn toàn không hiểu lệnh này làm gì, nhưng tôi nghĩ IP đầu tiên phải là IP tĩnh mong muốn của khách hàng của tôi và IP thứ hai phải là IP của máy chủ của tôi.

ifconfig-push 10.5.24.210 10.5.24.209

Tuy nhiên, khi tôi cố gắng kết nối máy khách của mình với cấu hình máy chủ này, tôi gặp phải lỗi sau:

Mon Aug 07 14:07:34 2017 Set TAP-Windows TUN subnet mode network/local/netmask = 10.5.24.208/10.5.24.210/10.5.24.209 [SUCCEEDED]
Mon Aug 07 14:07:34 2017 MANAGEMENT: Client disconnected
Mon Aug 07 14:07:34 2017 ERROR: --ip-win32 dynamic [offset] : offset is outside of --ifconfig subnet
Mon Aug 07 14:07:34 2017 Exiting due to fatal error

Tôi nghĩ IP 10.5.24.210 sẽ nằm trong mạng con được xác định ở phía máy chủ và tôi không hiểu tại sao tôi lại gặp lỗi này. Bất cứ ai có thể giúp tôi ra về điều này?


1
Thay vào đó, tôi khuyên bạn nên hỏi điều này trên Server Fault, có thể nhận được nhiều phản hồi hữu ích hơn vì trang web đó dành riêng cho các vấn đề quản trị máy chủ.
EJoshuaS - Phục hồi Monica

Đồng ý. Cảm ơn bạn. Không biết về cộng đồng đó. Tôi có nên đăng lại, hoặc có một số tính năng cho phép tôi di chuyển bài viết?
Magnus

1
Bạn có thể gắn cờ cho sự can thiệp của người điều hành và yêu cầu họ di chuyển. (Đối với một vài trang web, như Super User, cộng đồng có thể bỏ phiếu để di chuyển, nhưng việc di chuyển đến trang web đó phải được thực hiện bởi người kiểm duyệt).
EJoshuaS - Phục hồi Monica

Câu trả lời:


4

Vấn đề này được tạo ra vì openvpn đang cố phân tích các tùy chọn ifconfig của bạn dưới dạng ip theo sau là mặt nạ mạng con.

Theo trang người đàn ông:

chế độ nội soi

...

mạng con - Sử dụng mạng con thay vì cấu trúc liên kết điểm-điểm bằng cách định cấu hình giao diện điều chỉnh với địa chỉ IP cục bộ và mặt nạ mạng con, tương tự như cấu trúc liên kết được sử dụng trong chế độ cầu nối --dev tap và ethernet. Chế độ này phân bổ một địa chỉ IP duy nhất cho mỗi máy khách kết nối và cũng hoạt động trên Windows. Chỉ khả dụng khi máy chủ và máy khách là OpenVPN 2.1 trở lên hoặc OpenVPN 2.0.x đã được vá thủ công bằng mã lệnh --topology. Khi được sử dụng trên Windows, yêu cầu phiên bản 8.2 trở lên của trình điều khiển TAP-Win32. Khi được sử dụng trên * nix, yêu cầu trình điều khiển tun hỗ trợ lệnh ifconfig (8) đặt mạng con thay vì địa chỉ IP điểm cuối từ xa.

Tùy chọn này tồn tại trong OpenVPN 2.1 trở lên.

Lưu ý: Sử dụng mạng con --topology thay đổi việc giải thích các đối số của --ifconfig thành "địa chỉ netmask", không còn là "điều khiển từ xa cục bộ".

--ifconfig l rn

Đặt tham số bộ điều hợp TUN / TAP. l là địa chỉ IP của điểm cuối VPN cục bộ. Đối với các thiết bị TUN ở chế độ điểm-điểm, rn là địa chỉ IP của điểm cuối VPN từ xa. Đối với các thiết bị TAP hoặc các thiết bị TUN được sử dụng với mạng con --topology , rn là mặt nạ mạng con của phân đoạn mạng ảo đang được tạo hoặc kết nối . Đối với các thiết bị TUN, tạo điều kiện cho các kết nối IP điểm-điểm ảo (khi được sử dụng ở chế độ --topology net30 hoặc p2p), cách sử dụng đúng --ifconfig là sử dụng hai địa chỉ IP riêng không phải là thành viên của bất kỳ mạng con hiện có nào đó là sử dụng. Các địa chỉ IP có thể liên tiếp và nên đảo ngược thứ tự của chúng trên thiết bị ngang hàng từ xa. Sau khi VPN được thiết lập, bằng cách ping rn, bạn sẽ ping trên VPN.

Đối với các thiết bị TAP, cung cấp ....

Bên trong mã máy chủ của bạn, bạn đặt cấu trúc liên kết của mình thành subnet, sau đó đẩy nó đến máy khách bằng cách sử dụng servercâu lệnh.

Theo tài liệu trên, thay vì đẩy ifconfig bằng địa chỉ "cục bộ", "từ xa", bạn cần thêm thông tin sau vào "/ etc / openvpn / ccd / W7LocalVM":

ifconfig-push 10.5.24.210 255.255.255.252
push route 10.5.24.210 255.255.255.252
# ifconfig 10.5.24.209 255.255.255.252

Dòng cuối cùng có lẽ là không cần thiết, nhưng được để lại như một ví dụ về việc ifconfig-push "nên" làm gì ở phía máy chủ để làm cho kết nối hoạt động.


Tôi đã viết một bình luận ở đây hỏi tại sao bạn đề nghị phân bổ bốn IP cho mỗi khách hàng, nhưng tôi đủ siêng năng để tìm câu trả lời cho câu hỏi đó trong Câu hỏi thường gặp. Cảm ơn bạn đã giải câu đố!
Magnus
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.