Như các bạn đã biết, mình mới chuyển Canh Me về VPS của Vultr với mô hình sử dụng 1 VPS cài Varnish Cache làm front-end, 1 VPS back-end chứa files và Database. Để Varnish kết nối được với back-end, mình không sử dụng public IP mà sử dụng private IP. Điều này giúp đỡ bị nhân đôi băng thông và đảm bảo kết nối giữa 2 VPS ổn định hơn (kiểu như cùng mạng LAN ấy).

Hiện giờ Vultr đang tặng miễn phí 52$ cho tài khoản mới. Xem thêm trong chuyên mục Vultr Coupon!

Rất may mắn là Vultr hỗ trợ private network để kết nối các VPS trong cùng location của 1 tài khoản với nhau, và việc kích hoạt cũng khá là dễ dàng. Để thực hiện các bạn hãy làm theo các bước bên dưới:

Hướng dẫn kích hoạt Private Network ở Vultr

– Đầu tiên bạn hãy truy cập vào Vultr, đăng nhập và vào phần quản trị VPS muốn kích hoạt Private Network rồi nhấn vào tab Settings.

– Click vào nút Enable Private Network

Kich hoat Private Network

– Sau đó bạn sẽ nhận được các thông tin cho private network, bao gồm Private IP, NetmaskGateway (của mình là n/a). Trong đó lưu ý thông tin Private IP để kết nối giữa các VPS.

– Bước tiếp theo cần cấu hình network, tạo file /etc/sysconfig/network-scripts/ifcfg-eth1 với nội dung sau:

DEVICE=eth1
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=10.99.0.10
NETMASK=255.255.0.0
IPV6INIT=no
MTU=1450

Lưu ý thay 10.99.0.10 bằng Private IP bạn nhận được. Với Ubuntu hoặc Windows thì bạn hãy tham khảo hướng dẫn này.

– Cuối cùng restart network

service network restart

Vậy là bạn đã kích hoạt thành công private network cho VPS rồi đó, giờ hãy thực hiện tương tự với VPS khác nhé.

Test thử kết nối bằng cách thực hiện lệnh ping với các private IP khác của bạn.

Lưu ý:

  • Private network traffic không giới hạn và không bị tính vào bandwidth.
  • Private networks theo location, ví dụ VPS ở Japan không thể kết nối với VPS ở Seattle được.
  • Private networks chỉ áp dụng cho tài khoản của bạn, không thể kết nối VPS ở tài khoản khác được.
  • Bạn phải tự cài đặt network thì private network mới hoạt động được.
  • Bạn có thể click ngay vào link networking configuration để xem gợi ý cấu hình của Vultr.

Chúc các bạn thành công.

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

40 Comments

  1. Vinh 10 comment

    Cho mình hỏi chú. Phải kích hoạt private network trên cả 2 vps hay chỉ cần kích hoạt trên vps lưu database ạ?

  2. Hachiman 2 comment

    Ae cho mình hỏi làm cách nào để bind localhost thành private ip của remote mysql server
    Mình kết nối với private ip được rồi nhưng muốn dùng localhost đỡ phải sửa lại code 😀
    Thử sửa trong /etc/hosts nhưng không kết nối được 🙁

  3. Hachiman 2 comment

    Xài cái IPv6 only chạy mysql server
    1 cái nữa chạy client, muốn quản lý con ipv6 thì log vô con thường rồi ssh sang là được
    Remote Database thì nên xài Private Network vì nó nhanh hơn là Public IP
    Việc cài đặt cũng rất đơn giản, kích hoạt private network xong theo cái tut này là được, không cần phải mở port gì hết đâu 🙂

    https://www.digitalocean.com/community/tutorials/how-to-set-up-a-remote-database-to-optimize-site-performance-with-mysql

    1. Việt Phương Moderator

      Yeap. Con ipv6 only cũng rẻ. Và kết nối private network thì nhanh như mạng nội bộ luôn. Chỉ hạn chế là cùng nhà cung cấp và cùng location mới kích hoạt đc Private Network

  4. Nguyen Dinh Phu 8 comment

    Restarting network (via systemctl): Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details.
    [FAILED]

    Mình cứ bị báo lỗi này hoài à .. k biết vì sao nữa

    1. Việt Phương Moderator

      systemctl status network.service hoặc systemctl status network.service -l để check thông báo như nó bảo đó bạn

      1. Santiagorai 2 comment

        network.service – LSB: Bring up/down networking
        Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
        Active: failed (Result: exit-code) since Sat 2018-08-25 10:27:43 +07; 18s ago
        Docs: man:systemd-sysv-generator(8)
        Process: 1422 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS)
        Process: 1588 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
        CGroup: /system.slice/network.service
        └─1775 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient–eth0.lease -pf /var/run/dhclient-eth0.pid -H webcode eth0
        mình làm như trên kiểm tra thi nó báo không thực thi ở phần Active mình sửa sao đây ad

        1. Việt Phương Moderator

          Thông tin này không đủ rồi. Bạn restart network rồi check lại status theo lệnh full xem
          systemctl status network.service -l
          Và lệnh ifconfig bạn ra kết quả gì

          1. Santiagorai 2 comment

            [root@vultr home]# service network restart
            Restarting network (via systemctl): Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details.
            [FAILED]
            [root@vultr home]# systemctl status network.service
            ● network.service – LSB: Bring up/down networking
            Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
            Active: failed (Result: exit-code) since Sat 2018-08-25 23:45:45 +07; 30s ago
            Docs: man:systemd-sysv-generator(8)
            Process: 13199 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
            CGroup: /system.slice/network.service
            └─711 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient–eth0.lease -pf /var/run/dhclient-eth0.pid -H vultr eth0

            Aug 25 23:45:45 vultr.guest network[13199]: RTNETLINK answers: File exists
            Aug 25 23:45:45 vultr.guest network[13199]: RTNETLINK answers: File exists
            Aug 25 23:45:45 vultr.guest network[13199]: RTNETLINK answers: File exists
            Aug 25 23:45:45 vultr.guest network[13199]: RTNETLINK answers: File exists
            Aug 25 23:45:45 vultr.guest network[13199]: RTNETLINK answers: File exists
            Aug 25 23:45:45 vultr.guest network[13199]: RTNETLINK answers: File exists
            Aug 25 23:45:45 vultr.guest systemd[1]: network.service: control process exited, code=exited status=1
            Aug 25 23:45:45 vultr.guest systemd[1]: Failed to start LSB: Bring up/down networking.
            Aug 25 23:45:45 vultr.guest systemd[1]: Unit network.service entered failed state.
            Aug 25 23:45:45 vultr.guest systemd[1]: network.service failed.

            Đây là đoạn code đầy đủ . đã xem đi xem lại nhiều lần về mấy cái fila đã làm thì không sai chút nào . Mà nó vẫn báo lỗi như thế này

          2. Việt Phương Moderator

            Cho mình kết quả của ifconfig và nội dung các file bạn đã chỉnh sửa. Nhớ note tên file và hệ điều hành bạn sử dụng

  5. KENT 3 comment

    Ad cho mình hỏi. Em có config okie hết rồi, ping ip private cũng được hết rồi.
    Em có connect database code -> database sql = ip thực thì thành công.
    Nhưng khi connect qua ip private mà vultr cung cấp thì báo không được.

    Ad có cách nào giải quyết được vấn đề này không ạ?

    Em cám ơn.

    1. Việt Phương Moderator

      Tức Remote access cho user MySQL (vì bạn ghi kết nối database bằng IP thực (IP VPS Private B) thành công?
      Và ping kết nối giữa VPS và VPS Private cũng thành công
      Nhưng kết nối remote MySQL bằng IP Private (cái ip khác của B) thì không thành công? Còn kết nối bằng Public IP của VPS B thì thành công?
      Bạn kết nối mysql -h IP -uroot -ppassword ra kết quả ntn

      1. KENT 3 comment

        Em cám ơn ad đã phản hồi. Em sẽ nói cụ thể như sau.

        Anh xem ảnh này giúp em vì em ko gửi được: http://prntscr.com/ivq7c2

        Hy vọng ad xem giúp em, hoặc nếu có thể em xin contact để em tiện liên hệ ạ.
        Em cám ơn.

        1. Việt Phương Moderator

          Bỏ qua thông tin IP thực và IP Private của VPS Code (vì không cần thiết)
          Thực sự chỉ biết là disconnect như thế mình cũng không biết tư vấn sao. Bạn gửi VPS qua support@hocvps.com mình xem cho, sẽ tiện hơn

          1. Việt Phương Moderator

            Done. Trường hợp này sử dụng CSF cần mở port 3306 (MySQL) cho cả incoming TCP

            # Allow incoming TCP ports
            TCP_IN = "...,3306"
            
  6. Đặng Thái Hòa 2 comment

    anh Luân cho em hỏi em muốn chạy database server riêng, em cài Mariadb với kích hoạt Private IP rồi, giờ trên Mariadb cấu hình thế nào để nó nhận các IP khác trong mạng Private truy cập vào nó

  7. Tran Anh 1 comment

    Cho mình hỏi là vps mình cài win 7 từ file iso, vậy để kết nối mạng thì làm như thế nào để cấu hình network?

  8. tienp 1 comment

    Bạn ơi, mình kết nối được 2 vps, ping theo private ip thì được rồi. Mình đặt database ở 1 vps và code ở vps còn lại. Vậy khi connect database thì host name phải điền là gì nhỉ ?
    Mình thử gõ private IP và public IP đều không được.

    1. Luân Trần Admin

      Hostname điền IP Private của database server nhé. Lưu ý MySQL phải chấp nhận kết nối remote nữa, mặc định nó chỉ nhận từ localhost mà thôi.

  9. Mai Nam 11 comment

    Liệu chạy 2 con vps 768M ram làm theo cách này có nhanh hơn chạy con vps 1g ram ko bạn nhỉ ?

  10. Thường 2 comment

    Hi, Luân cho mình hỏi

    Mình chưa hiểu cách làm trên cho lắm, mình muốn kết nối 2 vps với nhau thì phải thêm IP của VPS 1 vào VPS 2 ạ, hay làm sao ạ và mình muốn sync 2 thư mục của vps1(win) cho vps2(centos) thì có cách nào hoặc dùng phần mềm nào không ?

    1. Luân Trần Admin

      Nếu kích hoạt Private Network thì 2 VPS này sẽ giống như ở trong mạng LAN đó bạn, tốc độ trao đổi sẽ cao và ổn định hơn nhiều. Tất nhiên bạn vẫn có thể dùng public IP nhé.
      Sync 2 thư mục Win và CentOS mình chưa tìm hiểu thử đâu.

  11. angel96 6 comment

    Cho mình hỏi vps mình 45.32.252.29 kiểm tra ip là của US ,nhưng đăng ký lại chọn japan làm sao để kiểm tra dc bạn?

  12. phi__ 11 comment

    Anh Luân ơi, em hiện đang là sinh viên năm 3 đang làm về quản trị kênh, kế toán cho doanh nghiệp cần 1 cái vps để làm nhưng em không biết giờ vultr nhận thẻ loại gì của ngân hàng nào chắc chắn được anh giúp em được không ạ?
    Bởi bọn em làm dựa trên 1 số tiền giới hạn để xây dựng và vận hành nên dù làm lỗi thì vẫn tính vào chi phí phát sinh anh

  13. Jason Neygun 13 comment

    Có ai dùng private network mà bị trường hợp tương tự như mình không? Đã liên hệ với Vultr nhưng kết nối chưa được 1 phút thì bị lại như cũ, nó lại tiếp tục theo dõi mà chưa thấy trả lời. Không biết vấn đề có phải là do gateway hay không?

  14. Jason Neygun 13 comment

    Không hiểu sao lại có tình trạng lúc được, lúc không. Giờ nó báo lỗi: “no route to host”, không biết cái này bên Vultr có hỗ trợ không, thấy cái thông báo là mình phải tự cấu hình.

    1. Luân Trần Admin

      Của mình cài theo đúng như hướng dẫn, dùng rất ổn định không vấn đề gì cả? Ko hiểu sao nhỉ

  15. Jason Neygun 13 comment

    Mình định dùng Private Network để backup dữ liệu, tiết kiệm băng thông, nhưng mình không thể kết nối SFTP giữa 2 VPS, cần phải cấu hình như thế nào để kết nối SFTP giữa 2 VPS vậy Luân? Mình ping giữa 2 VPS thì bình thường.

    1. Luân Trần Admin

      Mình thử thì thấy connect SSH giữa 2 VPS dùng private IP được bình thường, nên nghĩ sFTP cũng ok chứ nhỉ?

  16. Phạm Viết Tín 1 comment

    Ad cho em hỏi là file /etc/sysconfig/network-scripts/ifcfg-eth1 ở đâu ạ….

    1. Luân Trần Admin

      Bạn sử dụng lệnh nano /etc/sysconfig/network-scripts/ifcfg-eth1 để tạo file