Cuốn sách "Linux đang hoạt động"

Cuốn sách "Linux đang hoạt động" Xin chào cư dân Khabro! Trong cuốn sách, David Clinton mô tả 12 dự án thực tế, bao gồm tự động hóa hệ thống sao lưu và phục hồi của bạn, thiết lập đám mây tệp cá nhân kiểu Dropbox và tạo máy chủ MediaWiki của riêng bạn. Bạn sẽ khám phá ảo hóa, khắc phục thảm họa, bảo mật, sao lưu, DevOps và xử lý sự cố hệ thống thông qua các nghiên cứu điển hình thú vị. Mỗi chương kết thúc bằng việc xem xét các phương pháp hay nhất, bảng chú giải các thuật ngữ mới và bài tập.

Trích “10.1. Tạo đường hầm OpenVPN"

Tôi đã nói rất nhiều về mã hóa trong cuốn sách này. SSH và SCP có thể bảo vệ dữ liệu được truyền qua các kết nối từ xa (Chương 3), mã hóa tệp có thể bảo vệ dữ liệu khi dữ liệu được lưu trữ trên máy chủ (Chương 8) và chứng chỉ TLS/SSL có thể bảo vệ dữ liệu được truyền giữa các trang web và trình duyệt máy khách (Chương 9) . Nhưng đôi khi dữ liệu của bạn cần được bảo vệ trên phạm vi kết nối rộng hơn. Ví dụ: có thể một số thành viên trong nhóm của bạn làm việc trên đường trong khi kết nối Wi-Fi qua các điểm truy cập công cộng. Bạn chắc chắn không nên cho rằng tất cả các điểm truy cập như vậy đều an toàn, nhưng người của bạn cần một cách để kết nối với tài nguyên của công ty—và đó là lúc VPN có thể trợ giúp.

Đường hầm VPN được thiết kế phù hợp sẽ cung cấp kết nối trực tiếp giữa máy khách từ xa và máy chủ theo cách ẩn dữ liệu khi dữ liệu di chuyển qua mạng không an toàn. Vậy thì sao? Bạn đã thấy nhiều công cụ có thể thực hiện việc này bằng mã hóa. Giá trị thực sự của VPN là bằng cách mở một đường hầm, bạn có thể kết nối các mạng từ xa như thể chúng đều là mạng cục bộ. Theo một nghĩa nào đó, bạn đang sử dụng đường vòng.

Bằng cách sử dụng mạng mở rộng này, quản trị viên có thể thực hiện công việc của mình trên máy chủ từ bất cứ đâu. Nhưng quan trọng hơn, một công ty có nguồn lực trải rộng trên nhiều địa điểm có thể làm cho tất cả chúng hiển thị và có thể truy cập được đối với tất cả các nhóm cần chúng, dù họ ở đâu (Hình 10.1).

Bản thân đường hầm không đảm bảo an ninh. Nhưng một trong những tiêu chuẩn mã hóa có thể được đưa vào cấu trúc mạng, điều này làm tăng đáng kể mức độ bảo mật. Các đường hầm được tạo bằng gói OpenVPN nguồn mở sử dụng cùng mã hóa TLS/SSL mà bạn đã đọc. OpenVPN không phải là tùy chọn tạo đường hầm duy nhất hiện có nhưng nó là một trong những tùy chọn được biết đến nhiều nhất. Nó được coi là nhanh hơn và an toàn hơn một chút so với giao thức đường hầm Lớp 2 thay thế sử dụng mã hóa IPsec.

Bạn có muốn mọi người trong nhóm của mình liên lạc an toàn với nhau khi đang di chuyển hoặc làm việc trong các tòa nhà khác nhau không? Để thực hiện điều này, bạn cần tạo một máy chủ OpenVPN để cho phép chia sẻ ứng dụng và truy cập vào môi trường mạng cục bộ của máy chủ. Để tính năng này hoạt động, tất cả những gì bạn cần làm là chạy hai máy ảo hoặc hai vùng chứa: một đóng vai trò là máy chủ/máy chủ và một đóng vai trò là máy khách. Xây dựng VPN không phải là một quá trình đơn giản, vì vậy có lẽ bạn nên dành vài phút để có được bức tranh toàn cảnh.

Cuốn sách "Linux đang hoạt động"

10.1.1. Cấu hình máy chủ OpenVPN

Trước khi bạn bắt đầu, tôi sẽ cho bạn một số lời khuyên hữu ích. Nếu bạn định tự mình làm việc đó (và tôi thực sự khuyên bạn nên làm như vậy), có thể bạn sẽ thấy mình đang làm việc với nhiều cửa sổ đầu cuối mở trên Màn hình nền của mình, mỗi cửa sổ được kết nối với một máy khác nhau. Có nguy cơ đến một lúc nào đó bạn sẽ nhập sai lệnh vào cửa sổ. Để tránh điều này, bạn có thể sử dụng lệnh tên máy chủ để thay đổi tên máy hiển thị trên dòng lệnh thành tên nào đó cho bạn biết rõ ràng bạn đang ở đâu. Sau khi thực hiện việc này, bạn sẽ cần phải đăng xuất khỏi máy chủ và đăng nhập lại để cài đặt mới có hiệu lực. Đây là những gì nó trông giống như:

Cuốn sách "Linux đang hoạt động"
Bằng cách làm theo phương pháp này và đặt tên thích hợp cho từng máy mà bạn làm việc cùng, bạn có thể dễ dàng theo dõi vị trí của mình.

Sau khi sử dụng tên máy chủ, bạn có thể gặp phải thông báo Unable to Resolve Host OpenVPN-Server khó chịu khi thực hiện các lệnh tiếp theo. Việc cập nhật tệp /etc/hosts bằng tên máy chủ mới thích hợp sẽ giải quyết được sự cố.

Chuẩn bị máy chủ của bạn cho OpenVPN

Để cài đặt OpenVPN trên máy chủ của bạn, bạn cần có hai gói: openvpn và easy-rsa (để quản lý quá trình tạo khóa mã hóa). Người dùng CentOS trước tiên nên cài đặt kho lưu trữ phát hành epel nếu cần, như bạn đã làm trong Chương 2. Để có thể kiểm tra quyền truy cập vào ứng dụng máy chủ, bạn cũng có thể cài đặt máy chủ web Apache (apache2 trên Ubuntu và httpd trên CentOS).

Trong khi thiết lập máy chủ của mình, tôi khuyên bạn nên kích hoạt tường lửa chặn tất cả các cổng ngoại trừ 22 (SSH) và 1194 (cổng mặc định của OpenVPN). Ví dụ này minh họa cách ufw hoạt động trên Ubuntu, nhưng tôi chắc chắn bạn vẫn nhớ chương trình tường lửa CentOS ở Chương 9:

# ufw enable
# ufw allow 22
# ufw allow 1194

Để kích hoạt định tuyến nội bộ giữa các giao diện mạng trên máy chủ, bạn cần bỏ ghi chú một dòng (net.ipv4.ip_forward = 1) trong tệp /etc/sysctl.conf. Điều này sẽ cho phép các máy khách từ xa được chuyển hướng khi cần sau khi chúng được kết nối. Để làm cho tùy chọn mới hoạt động, hãy chạy sysctl -p:

# nano /etc/sysctl.conf
# sysctl -p

Môi trường máy chủ của bạn hiện đã được định cấu hình đầy đủ nhưng vẫn còn một việc nữa phải làm trước khi bạn sẵn sàng: bạn sẽ cần phải hoàn thành các bước sau (chúng tôi sẽ đề cập chi tiết đến chúng ở phần tiếp theo).

  1. Tạo một bộ khóa mã hóa cơ sở hạ tầng khóa công khai (PKI) trên máy chủ bằng cách sử dụng các tập lệnh được cung cấp kèm theo gói easy-rsa. Về cơ bản, máy chủ OpenVPN cũng đóng vai trò là cơ quan cấp chứng chỉ (CA) của riêng nó.
  2. Chuẩn bị chìa khóa thích hợp cho khách hàng
  3. Cấu hình file server.conf cho máy chủ
  4. Thiết lập ứng dụng khách OpenVPN của bạn
  5. Kiểm tra VPN của bạn

Tạo khóa mã hóa

Để đơn giản hóa mọi việc, bạn có thể thiết lập cơ sở hạ tầng chính của mình trên cùng một máy nơi máy chủ OpenVPN đang chạy. Tuy nhiên, các phương pháp bảo mật tốt nhất thường đề xuất sử dụng máy chủ CA riêng để triển khai sản xuất. Quá trình tạo và phân phối tài nguyên khóa mã hóa để sử dụng trong OpenVPN được minh họa trong Hình 10.2. XNUMX.

Cuốn sách "Linux đang hoạt động"
Khi bạn cài đặt OpenVPN, thư mục /etc/openvpn/ được tạo tự động nhưng chưa có gì trong đó. Các gói openvpn và easy-rsa đi kèm với các tệp mẫu mẫu mà bạn có thể sử dụng làm cơ sở cho cấu hình của mình. Để bắt đầu quá trình chứng nhận, hãy sao chép thư mục mẫu easy-rsa từ /usr/share/ sang /etc/openvpn và thay đổi sang thư mục easy-rsa/:

# cp -r /usr/share/easy-rsa/ /etc/openvpn
$ cd /etc/openvpn/easy-rsa

Thư mục easy-rsa bây giờ sẽ chứa khá nhiều script. Trong bảng 10.1 liệt kê các công cụ bạn sẽ sử dụng để tạo khóa.

Cuốn sách "Linux đang hoạt động"

Các thao tác trên yêu cầu quyền root nên bạn cần phải root thông qua sudo su.

Tệp đầu tiên bạn sẽ làm việc có tên là vars và chứa các biến môi trường mà easy-rsa sử dụng khi tạo khóa. Bạn cần chỉnh sửa tệp để sử dụng các giá trị của riêng bạn thay vì các giá trị mặc định đã có sẵn. Tệp của tôi sẽ trông như thế này (Liệt kê 10.1).

Liệt kê 10.1. Các đoạn chính của tệp /etc/openvpn/easy-rsa/vars

export KEY_COUNTRY="CA"
export KEY_PROVINCE="ON"
export KEY_CITY="Toronto"
export KEY_ORG="Bootstrap IT"
export KEY_EMAIL="[email protected]"
export KEY_OU="IT"

Việc chạy tệp vars sẽ chuyển các giá trị của nó sang môi trường shell, nơi chúng sẽ được đưa vào nội dung của các khóa mới của bạn. Tại sao lệnh sudo không hoạt động? Bởi vì ở bước đầu tiên chúng ta chỉnh sửa tập lệnh có tên vars rồi áp dụng nó. Áp dụng và có nghĩa là tệp vars chuyển các giá trị của nó sang môi trường shell, nơi chúng sẽ được đưa vào nội dung các khóa mới của bạn.

Đảm bảo chạy lại tệp bằng shell mới để hoàn tất quá trình còn dang dở. Khi việc này hoàn tất, tập lệnh sẽ nhắc bạn chạy một tập lệnh khác, dọn dẹp tất cả, để xóa mọi nội dung trong thư mục /etc/openvpn/easy-rsa/keys/:

Cuốn sách "Linux đang hoạt động"
Đương nhiên, bước tiếp theo là chạy tập lệnh clean-all, tiếp theo là build-ca, sử dụng tập lệnh pkitool để tạo chứng chỉ gốc. Bạn sẽ được yêu cầu xác nhận cài đặt nhận dạng do vars cung cấp:

# ./clean-all
# ./build-ca
Generating a 2048 bit RSA private key

Tiếp theo là tập lệnh build-key-server. Vì nó sử dụng cùng tập lệnh pkitool cùng với chứng chỉ gốc mới nên bạn sẽ thấy các câu hỏi tương tự để xác nhận việc tạo cặp khóa. Các khóa sẽ được đặt tên dựa trên các đối số bạn chuyển, trừ khi bạn đang chạy nhiều VPN trên máy này, thường sẽ là máy chủ, như trong ví dụ:

# ./build-key-server server
[...]
Certificate is to be certified until Aug 15 23:52:34 2027 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

OpenVPN sử dụng các tham số được tạo bởi thuật toán Diffie-Hellman (sử dụng build-dh) để đàm phán xác thực cho các kết nối mới. Tệp được tạo ở đây không cần phải bí mật mà phải được tạo bằng tập lệnh build-dh cho các khóa RSA hiện đang hoạt động. Nếu bạn tạo khóa RSA mới trong tương lai, bạn cũng sẽ cần cập nhật tệp Diffie-Hellman:

# ./build-dh

Các khóa phía máy chủ của bạn bây giờ sẽ nằm trong thư mục /etc/openvpn/easy-rsa/keys/, nhưng OpenVPN không biết điều này. Theo mặc định, OpenVPN sẽ tìm kiếm các khóa trong /etc/openvpn/, vì vậy hãy sao chép chúng:

# cp /etc/openvpn/easy-rsa/keys/server* /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/dh2048.pem /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn

Chuẩn bị khóa mã hóa máy khách

Như bạn đã thấy, mã hóa TLS sử dụng các cặp khóa khớp nhau: một khóa được cài đặt trên máy chủ và một khóa được cài đặt trên máy khách từ xa. Điều này có nghĩa là bạn sẽ cần khóa máy khách. Người bạn cũ pkitool của chúng tôi chính xác là thứ bạn cần cho việc này. Trong ví dụ này, khi chạy chương trình trong thư mục /etc/openvpn/easy-rsa/, chúng tôi chuyển cho nó đối số client để tạo các tệp có tên client.crt và client.key:

# ./pkitool client

Hai tệp máy khách, cùng với tệp ca.crt ban đầu vẫn còn trong thư mục Keys/, giờ đây sẽ được chuyển đến máy khách của bạn một cách an toàn. Do quyền sở hữu và quyền truy cập của họ, điều này có thể không dễ dàng như vậy. Cách tiếp cận đơn giản nhất là sao chép thủ công nội dung của tệp nguồn (và không có gì ngoài nội dung đó) vào một thiết bị đầu cuối chạy trên màn hình PC của bạn (chọn văn bản, nhấp chuột phải vào nó và chọn Sao chép từ menu). Sau đó dán tệp này vào một tệp mới có cùng tên mà bạn tạo trong thiết bị đầu cuối thứ hai được kết nối với máy khách của mình.

Nhưng bất cứ ai cũng có thể cắt và dán. Thay vào đó, hãy suy nghĩ như một quản trị viên vì không phải lúc nào bạn cũng có quyền truy cập vào GUI nơi có thể thực hiện các thao tác cắt/dán. Sao chép các tệp vào thư mục chính của người dùng của bạn (để thao tác scp từ xa có thể truy cập chúng), sau đó sử dụng chown để thay đổi quyền sở hữu các tệp từ root sang người dùng không phải root thông thường để có thể thực hiện hành động scp từ xa. Đảm bảo tất cả các tệp của bạn hiện đã được cài đặt và có thể truy cập được. Bạn sẽ chuyển chúng đến máy khách sau một lát:

# cp /etc/openvpn/easy-rsa/keys/client.key /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/ca.crt /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/client.crt /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/client.key
# chown ubuntu:ubuntu /home/ubuntu/client.crt
# chown ubuntu:ubuntu /home/ubuntu/ca.crt

Với bộ khóa mã hóa đầy đủ đã sẵn sàng, bạn cần cho máy chủ biết bạn muốn tạo VPN như thế nào. Việc này được thực hiện bằng cách sử dụng tệp server.conf.

Giảm số lần nhấn phím

Có gõ nhiều quá không? Việc mở rộng bằng dấu ngoặc sẽ giúp giảm sáu lệnh này xuống còn hai. Tôi chắc rằng bạn có thể nghiên cứu hai ví dụ này và hiểu chuyện gì đang xảy ra. Quan trọng hơn, bạn sẽ có thể hiểu cách áp dụng những nguyên tắc này cho các hoạt động liên quan đến hàng chục hoặc thậm chí hàng trăm phần tử:

# cp /etc/openvpn/easy-rsa/keys/{ca.crt,client.{key,crt}} /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/{ca.crt,client.{key,crt}}

Thiết lập tệp server.conf

Làm thế nào bạn có thể biết tệp server.conf trông như thế nào? Bạn có nhớ mẫu thư mục easy-rsa mà bạn đã sao chép từ /usr/share/ không? Khi cài đặt OpenVPN, bạn còn lại một tệp mẫu cấu hình nén mà bạn có thể sao chép vào /etc/openvpn/. Tôi sẽ dựa trên thực tế là mẫu đã được lưu trữ và giới thiệu cho bạn một công cụ hữu ích: zcat.

Bạn đã biết về việc in nội dung văn bản của một file ra màn hình bằng lệnh cat, nhưng nếu file được nén bằng gzip thì sao? Bạn luôn có thể giải nén tệp và sau đó mèo sẽ vui vẻ xuất tệp đó, nhưng như vậy sẽ cần nhiều hơn một hoặc hai bước so với mức cần thiết. Thay vào đó, như bạn có thể đoán, bạn có thể ra lệnh zcat để tải văn bản đã giải nén vào bộ nhớ trong một bước. Trong ví dụ sau, thay vì in văn bản ra màn hình, bạn sẽ chuyển hướng nó đến một tệp mới có tên server.conf:

# zcat 
  /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz 
  > /etc/openvpn/server.conf
$ cd /etc/openvpn

Hãy tạm gác tài liệu phong phú và hữu ích đi kèm với tệp sang một bên và xem nó trông như thế nào khi bạn chỉnh sửa xong. Lưu ý rằng dấu chấm phẩy (;) yêu cầu OpenVPN không đọc hoặc thực thi dòng tiếp theo (Danh sách 10.2).

Cuốn sách "Linux đang hoạt động"
Chúng ta hãy đi qua một số cài đặt này.

  • Theo mặc định, OpenVPN chạy trên cổng 1194. Ví dụ: bạn có thể thay đổi điều này để ẩn thêm các hoạt động của mình hoặc tránh xung đột với các đường hầm đang hoạt động khác. Vì 1194 yêu cầu sự phối hợp tối thiểu với khách hàng nên tốt nhất nên làm theo cách này.
  • OpenVPN sử dụng Giao thức điều khiển truyền (TCP) hoặc Giao thức gói dữ liệu người dùng (UDP) để truyền dữ liệu. TCP có thể chậm hơn một chút, nhưng nó đáng tin cậy hơn và có nhiều khả năng được hiểu bởi các ứng dụng chạy ở cả hai đầu đường hầm.
  • Bạn có thể chỉ định dev tun khi bạn muốn tạo đường hầm IP đơn giản hơn, hiệu quả hơn mang nội dung dữ liệu và không có gì khác. Mặt khác, nếu bạn cần kết nối nhiều giao diện mạng (và các mạng mà chúng đại diện), tạo cầu nối Ethernet, bạn sẽ phải chọn dev tap. Nếu bạn không hiểu điều này nghĩa là gì, hãy sử dụng đối số tun.
  • Bốn dòng tiếp theo cung cấp cho OpenVPN tên của ba tệp xác thực trên máy chủ và tệp tùy chọn dh2048 mà bạn đã tạo trước đó.
  • Dòng máy chủ đặt phạm vi và mặt nạ mạng con sẽ được sử dụng để gán địa chỉ IP cho máy khách khi đăng nhập.
  • Tham số đẩy tùy chọn "tuyến 10.0.3.0 255.255.255.0" cho phép máy khách từ xa truy cập các mạng con riêng tư phía sau máy chủ. Để thực hiện công việc này cũng yêu cầu thiết lập mạng trên chính máy chủ để mạng con riêng tư biết về mạng con OpenVPN (10.8.0.0).
  • Dòng localhost 80 chia sẻ cổng cho phép bạn chuyển hướng lưu lượng truy cập của máy khách đến trên cổng 1194 đến một máy chủ web cục bộ đang nghe trên cổng 80. (Điều này sẽ hữu ích nếu bạn định sử dụng máy chủ web để kiểm tra VPN của mình.) Cách này chỉ có tác dụng sau đó khi giao thức tcp được chọn.
  • Người dùng không ai và nhóm nogroup dòng phải được kích hoạt bằng cách loại bỏ dấu chấm phẩy (;). Việc buộc các máy khách từ xa chạy với tư cách không ai và không nhóm sẽ đảm bảo rằng các phiên trên máy chủ không có đặc quyền.
  • log chỉ định rằng các mục nhật ký hiện tại sẽ ghi đè các mục nhập cũ mỗi khi OpenVPN được khởi động, trong khi phần bổ sung nhật ký sẽ thêm các mục mới vào tệp nhật ký hiện có. Bản thân tệp openvpn.log được ghi vào thư mục /etc/openvpn/.

Ngoài ra, giá trị client-to-client cũng thường được thêm vào tệp cấu hình để nhiều máy khách có thể nhìn thấy nhau ngoài máy chủ OpenVPN. Nếu bạn hài lòng với cấu hình của mình, bạn có thể khởi động máy chủ OpenVPN:

# systemctl start openvpn

Do tính chất thay đổi của mối quan hệ giữa OpenVPN và systemd, đôi khi có thể cần đến cú pháp sau để khởi động dịch vụ: systemctl start openvpn@server.

Chạy ip addr để liệt kê các giao diện mạng của máy chủ của bạn bây giờ sẽ xuất ra một liên kết đến giao diện mới có tên tun0. OpenVPN sẽ tạo nó để phục vụ các máy khách đến:

$ ip addr
[...]
4: tun0: mtu 1500 qdisc [...]
      link/none
      inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
          valid_lft forever preferred_lft forever

Bạn có thể cần phải khởi động lại máy chủ trước khi mọi thứ bắt đầu hoạt động bình thường. Điểm dừng tiếp theo là máy khách.

10.1.2. Định cấu hình máy khách OpenVPN

Theo truyền thống, đường hầm được xây dựng với ít nhất hai lối ra (nếu không chúng ta sẽ gọi là hang động). OpenVPN được cấu hình đúng cách trên máy chủ sẽ điều hướng lưu lượng truy cập vào và ra khỏi đường hầm ở một bên. Nhưng bạn cũng sẽ cần một số phần mềm chạy ở phía máy khách, tức là ở đầu bên kia của đường hầm.

Trong phần này, tôi sẽ tập trung vào việc thiết lập thủ công một số loại máy tính Linux để hoạt động như một máy khách OpenVPN. Nhưng đây không phải là cách duy nhất để có được cơ hội này. OpenVPN hỗ trợ các ứng dụng khách có thể được cài đặt và sử dụng trên máy tính để bàn và máy tính xách tay chạy Windows hoặc macOS, cũng như điện thoại thông minh và máy tính bảng Android và iOS. Xem openvpn.net để biết chi tiết.

Gói OpenVPN sẽ cần được cài đặt trên máy khách như đã được cài đặt trên máy chủ, mặc dù ở đây không cần easy-rsa vì các khóa bạn đang sử dụng đã tồn tại. Bạn cần sao chép tệp mẫu client.conf vào thư mục /etc/openvpn/ mà bạn vừa tạo. Lần này tệp sẽ không được nén, vì vậy lệnh cp thông thường sẽ thực hiện tốt công việc:

# apt install openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf 
  /etc/openvpn/

Hầu hết các cài đặt trong tệp client.conf của bạn sẽ khá dễ hiểu: chúng phải khớp với các giá trị trên máy chủ. Như bạn có thể thấy trong tệp ví dụ sau, tham số duy nhất là remote 192.168.1.23 1194, tham số này cho máy khách biết địa chỉ IP của máy chủ. Một lần nữa, hãy đảm bảo đây là địa chỉ máy chủ của bạn. Bạn cũng nên buộc máy khách xác minh tính xác thực của chứng chỉ máy chủ để ngăn chặn một cuộc tấn công trung gian có thể xảy ra. Một cách để thực hiện việc này là thêm dòng remote-cert-tls server (Danh sách 10.3).

Cuốn sách "Linux đang hoạt động"
Bây giờ bạn có thể truy cập thư mục /etc/openvpn/ và trích xuất các khóa chứng nhận từ máy chủ. Thay thế địa chỉ IP máy chủ hoặc tên miền trong ví dụ bằng các giá trị của bạn:

Cuốn sách "Linux đang hoạt động"
Sẽ không có gì thú vị xảy ra cho đến khi bạn chạy OpenVPN trên máy khách. Vì bạn cần truyền một vài đối số nên bạn sẽ thực hiện việc đó từ dòng lệnh. Đối số --tls-client cho OpenVPN biết rằng bạn sẽ hoạt động như một máy khách và kết nối thông qua mã hóa TLS, đồng thời --config trỏ đến tệp cấu hình của bạn:

# openvpn --tls-client --config /etc/openvpn/client.conf

Đọc đầu ra lệnh cẩn thận để đảm bảo bạn được kết nối chính xác. Nếu xảy ra sự cố trong lần đầu tiên, có thể là do cài đặt giữa tệp cấu hình máy chủ và máy khách không khớp hoặc sự cố kết nối mạng/tường lửa. Dưới đây là một số mẹo khắc phục sự cố.

  • Đọc kỹ kết quả hoạt động OpenVPN trên máy khách. Nó thường chứa đựng những lời khuyên có giá trị về chính xác những gì không thể làm được và tại sao.
  • Kiểm tra các thông báo lỗi trong tệp openvpn.log và openvpn-status.log trong thư mục /etc/openvpn/ trên máy chủ.
  • Kiểm tra nhật ký hệ thống trên máy chủ và máy khách để biết các tin nhắn được định giờ và liên quan đến OpenVPN. (journalctl -ce sẽ hiển thị các mục gần đây nhất.)
  • Đảm bảo rằng bạn có kết nối mạng đang hoạt động giữa máy chủ và máy khách (xem thêm điều này trong Chương 14).

Thông tin về các Tác giả

David Clinton - quản trị hệ thống, giáo viên và nhà văn. Ông đã quản lý, viết và tạo ra các tài liệu giáo dục cho nhiều lĩnh vực kỹ thuật quan trọng, bao gồm hệ thống Linux, điện toán đám mây (đặc biệt là AWS) và các công nghệ vùng chứa như Docker. Anh ấy đã viết cuốn sách Tìm hiểu các dịch vụ web của Amazon trong một tháng ăn trưa (Manning, 2017). Bạn có thể tìm thấy nhiều khóa đào tạo qua video của anh ấy tại Pluralsight.com và các liên kết đến các cuốn sách khác của anh ấy (về quản trị Linux và ảo hóa máy chủ) có sẵn tại bootstrap-it.com.

» Thông tin chi tiết về cuốn sách có thể tìm thấy tại trang web của nhà xuất bản
» Mục lục
» Đoạn trích

Đối với Khabrozhiteley giảm giá 25% khi sử dụng phiếu giảm giá - Linux
Sau khi thanh toán phiên bản giấy của cuốn sách, một cuốn sách điện tử sẽ được gửi qua e-mail.

Nguồn: www.habr.com

Thêm một lời nhận xét