Chuyên mục
Cloud VPS Linux

Hướng dẫn cấu hình căn bản cho máy ảo Oracle Cloud sau khi thiết lập

Tiếp tục với loạt bài viết về Oracle Cloud Free Tier, bài viết này mình sẽ hướng dẫn cách cấu hình căn bản máy ảo chạy Ubuntu sau khi vừa thiết lập xong. Việc này nhằm giúp bạn kết nối và sử dụng máy ảo dễ dàng hơn.

I. Cấu hình mạng cho máy ảo

Việc đầu tiên bạn cần làm sau khi thiết lập máy ảo trên Oracle Cloud là cấu hình mạng cho nó. Mặc định Oracle sẽ chặn hết tất cả kết nối đến máy ảo, ngoại trừ port 22 dành cho kết nối SSH. Chúng ta cần phải cấu hình lại để có thể sử dụng máy ảo cho các ứng dụng cài đặt sau này: Web server, DNS server,…

Từ trang quản lý máy ảo, bạn bấm vào mục Subnet: subnet-2021…
Bấm vào mục Default Security List for …
Bấm chọn Add Ingress Rules

Nhập vào nội dung:

  • Source Type: giữ nguyên CIDR
  • Souce CIDR: 0.0.0.0/0
  • IP Protocol: chọn TCP / UDP hay giao thức nào đó bạn cần. Nếu không chắc thì chọn All Protocol
  • Source Port Range: để trống
  • Destination Port Range: nhập vào port bạn cần mở, ví dụ: 80, 443, 51820
  • Description: chú thích, ghi gì cũng được.
Tạo Rule để mở cổng 80 . Bấm Add Ingress Rules

Vậy là xong. Máy ảo đã được mở kết nối cho cổng 80 – TCP.

Bạn thao tác tương tự khi cần mở kết nối cho các cổng khác.

II. Cho phép kết nối SSH bằng mật khẩu

Việc mình thường làm đầu tiên sau khi tạo máy ảo mới là là chỉnh sửa lại cấu hình Open-SSH Server để cho phép kết nối SSH bằng mật khẩu. Không cần phải dùng SSH key nữa.

Đăng nhập bằng mật khẩu sẽ không thể bảo mật bằng cách sử dụng SSH Key, nhưng sẽ tiện lợi hơn nhiều nếu bạn sử dụng nhiều máy tính để kết nối đến máy ảo. Đỡ mất thời gian copy Private Key qua lại giữa các máy. Chỉ cần chú ý tạo mật khẩu đủ dài và phức tạp là yên tâm khó mà bị hack.

Để cho phép kết nối SSH vào máy ảo bằng mật khẩu, cần phải chỉnh sửa lại thông số trong file sshd_config

sudo nano /etc/ssh/sshd_configCode language: Nginx (nginx)

Tìm đến dòng PasswordAuthentication và đổi thành yes. Bạn có thể dùng phím tắt Ctrl+W để tìm cho nhanh.

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yesCode language: Nginx (nginx)

Lưu lại bằng lệnh Ctrl+O, chọn Yes và bấm Ctrl+X để thoát ra. Giờ khởi động lại dịch vụ ssh bằng lệnh

sudo service ssh restartCode language: Nginx (nginx)

III. Tạo tài khoản sudo

Tiếp theo, mình sẽ tạo thêm 1 tài khoản sudo trên máy ảo dùng để đăng nhập và quản lý.

Tạo tài khoản mới với tên đăng nhập thuanbui. Bạn nhớ thay thế bằng bất kỳ tên đăng nhập nào khác tuỳ thích.

sudo adduser thuanbuiCode language: Nginx (nginx)

Hệ thống sẽ yêu cầu tạo mật khẩu và cung cấp thông tin cá nhân cho tài khoản mới. Nhớ tạo mật khẩu phức tạp (đừng dùng 123456 hay abcdef). Phần thông tin Full Name, Room Number,… bạn có thể để trống và Enter nhiều lần, sau đó chọn Y để xác nhận là xong

Adding user `thuanbui' ...
Adding new group `thuanbui' (1002) ...
Adding new user `thuanbui' (1002) with group `thuanbui' ...
Creating home directory `/home/thuanbui' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for thuanbui
Enter the new value, or press ENTER for the default
        Full Name []: Thuan Bui
        Room Number []:
        Work Phone []:
        Home Phone []:Code language: PHP (php)

Thêm tài khoản mới này vào group sudo. Group sudo là group có quyền quản trị trên Linux.

sudo usermod -aG sudo thuanbuiCode language: Nginx (nginx)

Để kiểm tra lại quyền sudo của tài khoản mới, đầu tiên cần chuyển qua dùng tài khoản mới này

su - thuanbuiCode language: Nginx (nginx)

Tiếp theo, gõ thử lệnh sau

sudo ls -la /rootCode language: Nginx (nginx)

Nhập mật khẩu của tài khoản mà bạn đã tạo lúc nãy

[sudo] password for thuanbui:Code language: CSS (css)

Kết quả nhận được như sau có nghĩa là tài khoản mới đã có quyền sudo, có thể cài đặt, cấu hình máy ảo thoải mái.

thuanbui@instance-20210822-1516:~$ sudo ls -la /root
total 28
drwx------  5 root root 4096 Aug 22 09:59 .
drwxr-xr-x 19 root root 4096 Aug 22 08:23 ..
-rw-r--r--  1 root root 3106 Dec  5  2019 .bashrc
drwxr-xr-x  3 root root 4096 Aug 22 09:59 .local
-rw-r--r--  1 root root  161 Dec  5  2019 .profile
drwx------  2 root root 4096 Aug 22 08:23 .ssh
drwxr-xr-x  4 root root 4096 Aug 22 08:23 snapCode language: YAML (yaml)

Giờ bạn có thể tắt Putty và đăng nhập lại vào máy ảo bằng tài khoản và mật khẩu vừa mới thiết lập.

IV. Cấu hình tường lửa

Ngoài việc cấu hình mạng subnet trên trang quản trị của Oracle Cloud. Bạn còn phải cấu hình thêm cấu hình mạng trên Ubuntu thì mới kết nối được đến các dịch vụ trên máy ảo.

Mặc đinh, hệ điều hành Ubuntu trên Oracle sẽ chặn hết tất cả các port. Bạn cần phải cấu hình tường lửa bằng iptables để truy cập đến máy ảo thông qua Internet.

Ví dụ nếu muốn truy cập webserver (port 80 TCP) đến máy ảo, bạn cần gõ lệnh sau

sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo netfilter-persistent save
Code language: YAML (yaml)

Thay thế port 80 và giao thức tcp bằng port hay giao thức nào khác bạn cần sử dụng.

Cách đơn giản hơn là cài đặt UFW để quản lý tường lửa. Mình đã chia sẻ hướng dẫn trong bài viết dưới đây.

Vậy là xong. Bạn đã có 1 máy ảo miễn phí để tha hồ nghiên cứu, làm quen với Linux / Web Server /…

Bạn cũng có thể cài đặt AdGuard Home lên máy ảo này để dùng làm DNS Server chặn quảng cáo cho mạng ở nhà.

Hoặc thiết lập VPN Server trên máy ảo bằng WireHole-UI để truy cập mạng bảo mật hơn.

Nếu cần hỗ trợ gì bạn có thể đặt câu hỏi bên dưới nhé. Chúc bạn cài đặt và cấu hình thành công.

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng mò vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

15 trả lời trong “Hướng dẫn cấu hình căn bản cho máy ảo Oracle Cloud sau khi thiết lập”

Mình vừa mới tạo 1 VPS mới trên Oracle, cài Docker / Docker Compose, sau đó chỉnh Subnet / UFW, thấy truy cập Portainer ngon lành. Không bị gì cả.
Nhiều khả năng bạn làm sai bước nào đó rồi.
Bạn có thể kiểm tra lại xem Portainer có đang hoạt động không bằng lệnh: docker ps. Nhiều khả năng Portainer bị lỗi gì dó chưa hoạt động nên mới không truy cập được.
Hoặc kiểm tra lại Subnet đã chỉnh đúng chưa.

Hello,
Bên dưới là nội dung của docker ps:
kopi@instance-20220105-0756:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8ac60a7ccc9c portainer/portainer-ce “/portainer” 6 hours ago Up 3 minute s 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000-> 9000/tcp, 9443/tcp portainer
Chứng tỏ mình cài portainer thành công rồi, mở cổng ufw 9000 rồi, mở trong subnet luôn rồi.
Bạn có discord không bạn ơi, nếu có time thì mình hỏi nhờ hướng dẫn, post trong này lâu quá 🙂

Mình không dùng Discord. Tốt nhất bạn nền xoá làm lại từ đầu. Mình làm lại từng bước theo các bài hướng dẫn và thấy truy cập được ngay.
Chú ý phần thiết lập subnet trên Oracle phải làm cho đúng, mở cổng 9000 TCP / UDP.

“Kết quả nhận được như sau có nghĩa là tài khoản mới đã có quyền sudo, có thể cài đặt, cấu hình máy ảo thoải mái.
………….

Giờ bạn có thể tắt Putty và đăng nhập lại vào máy ảo bằng tài khoản và mật khẩu vừa mới thiết lập.”

Mình lính mới tò te, xin hỏi cách đăng nhập lại vào máy ảo bằng tài khoản và mật khẩu vừa mới thiết lập?

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *