Cách thiết lập máy chủ ảoVPN bằng LXD và Ubuntu 20

1. ĐỊNH CẤU HÌNH CARD MẠNG CỤC BỘ BỔ SUNG:

Từ bảng điều khiển đi tớiServers –> Select server –> Manage –> Network and RDNS – Nhấp vào “Add local network” Sau đó, nó sẽ trông giống như sau:

Trong đó: eth0 là mạng WAN,  nic eth1 là mạng LAN

oot@pacman:~# ifconfig -a eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet x.x.x.x netmask 255.255.252.0 broadcast x.x.x.x inet6 fe80::216:3eff:fe5f:e994 prefixlen 64 scopeid 0x20 ether 00:16:3e:5f:e9:94 txqueuelen 1000 (Ethernet) RX packets 138035 bytes 118977575 (118.9 MB) RX errors 0 dropped 9 overruns 0 frame 0 TX packets 18971 bytes 1340779 (1.3 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth1: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 00:16:3e:16:58:a9 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Tạo bridge cho mạng LAN:

  • root@pacman:~# apt install bridge-utils -y
  • root@pacman:~# cat /etc/network/interfaces
  • auto lo iface lo inet loopback
  • auto eth0 iface eth0 inet static address xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.xxx network xxx.xxx.xxx.xxx gateway xxx.xxx.xxx.xxx
  • auto LAN iface LAN inet static address 10.10.200.1 netmask 255.255.255.0 broadcast 10.10.200.255 network 10.10.200.0 bridge_ports eth1 bridge_stp off bridge_fd 0 bridge_maxwait 0 root@pacman:~#

 

2. Thiết lập máy chủ DHCP cho mạng LAN

root@pacman:~# apt install isc-dhcp-server -y

Và tạo một cấu hình cơ bản, để cho phép các máy khách VPN có được ip từ mạng LAN

  • oot@pacman:~# cd /etc/dhcp/ root@pacman:/etc/dhcp# mv dhcpd.conf dhcpd.conf.old root@pacman:/etc/dhcp#
  • root@pacman:~# more /etc/dhcp/dhcpd.conf INTERFACES=”LAN”; default-lease-time 600; max-lease-time 7200;
  • subnet 10.10.200.0 netmask 255.255.255.0{ range 10.10.200.150 10.10.200.240; option routers 10.10.200.1; option domain-name-servers 1.1.1.1, 8.8.8.8; option domain-name “vpsvpn.net”; }

3. Khởi tạo LXD

Nó sẽ hỏi một load các bạn cứ trả lời tương ứng với phần default nhé.

root@pacman:~# lxd init Would you like to use LXD clustering? (yes/no) [default=no]: Do you want to configure a new storage pool? (yes/no) [default=yes]: Name of the new storage pool [default=default]: Name of the storage backend to use (ceph, btrfs, dir, lvm, zfs) [default=zfs]: dir Would you like to connect to a MAAS server? (yes/no) [default=no]: Would you like to create a new local network bridge? (yes/no) [default=yes]: What should the new bridge be called? [default=lxdbr0]: What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: none Would you like LXD to be available over the network? (yes/no) [default=no]: Would you like stale cached images to be updated automatically? (yes/no) [default=yes] Would you like a YAML “lxd init” preseed to be printed? (yes/no) [default=no]: root@pacman:~#

4. Tạo máy chủ VPN của bạn

root @ pacman: ~ # lxc khởi chạy ubuntu: 20.04 vpn Creating vpn Starting vpn
root @ pacman: ~ #

5. Tạo hồ sơ cho VPN sử dụng mạng cục bộ và thiết lập IP

Theo mặc định, vùng chứa mới sẽ sử dụng cấu hình mặc định giống như sau:

oot @ pacman: ~ # lxc profile hiển thị cấu hình mặc định: {} description: Các thiết bị cấu hình LXD mặc định: eth0: name: eth0 network: lxdbr0 type: nic root: path: / pool: default type: disk name: default used_by: – ​​/ 1.0 / instance / vpn

Sao chép cấu hình mặc định này và chỉnh sửa nó để sử dụng card mạng kết nối với mạng nội bộ

  • root @ pacman: ~ # lxc profile sao chép mạng LAN mặc định
  • root @ pacman: ~ # lxc profile chỉnh sửa mạng LAN
  • config: {} description: Các thiết bị cấu hình LXD mặc định: eth0: name: eth0 nictype: bridge parent: LAN type: nic root: path: / pool: default type: disk name: LAN used_by: []

6. Định cấu hình mạng trên máy chủ VPN

Cài đặt ubuntu 20 trên vùng chứa sử dụng netplan (vpsserver sử dụng tệp giao diện truyền thống trong / etc / network). Điều chỉnh tệp cấu hình mạng theo nhu cầu của bạn …

root @ pacman: ~ # lxc executive vpn bash

root @ vpn: ~ # cat /etc/netplan/50-cloud-init.yaml

Network: version: 2 ethernets: eth0: addresses: – 10.10.200.2/24 gateway4: 10.10.200.1 nameservers: search: [vpsvpn.net] addresses: [1.1.1.1 ,8.8.8.8]

root@vpn:~# root@vpn:~# netplan apply root@vpn:~#

root@vpn:~# ping 10.10.200.1 PING 10.10.200.1 (10.10.200.1) 56(84) bytes of data. 64 bytes from 10.10.200.1: icmp_seq=1 ttl=64 time=0.194 ms ^C — 10.10.200.1 ping statistics — 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.194/0.194/0.194/0.000 ms root@vpn:~#

7. Quy tắc tường lửa

Chỉ cần kiểm tra xem các quy tắc NAT trông như thế này:

root@pacman:~# iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination
DNAT tcp — anywhere pacman.localdomain tcp dpt:https to:10.10.200.2 DNAT udp — anywhere pacman.localdomain udp multiport dports isakmp,l2f,ipsec-nat-t to:10.10.200.2 DNAT tcp — anywhere pacman.localdomain tcp multiport dports http,https to:10.10.200.3

  • Chain INPUT (policy ACCEPT)
  • Chain OUTPUT (policy ACCEPT)
  • Chain POSTROUTING (policy ACCEPT)

MASQUERADE all — 10.150.205.0/24 !10.150.205.0/24 /* generated for LXD network lxdbr0 */ SNAT all — 10.10.200.0/24 anywhere to:185.144.157.178

8. Cài đặt phần mềm VPN

Tải xuống phiên bản mới nhất của softether (vpn dễ sử dụng và tính linh hoạt vô song) từ https://www.softether.org/

root @ vpn: ~ # wget wget https://www.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver- v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz

root@vpn:~# apt install build-essential -y

root@vpn:~# mv vpnserver/ /usr/local/

root@vpn:~# cd /usr/local/vpnserver/

root@vpn:/usr/local/vpnserver# make

Bật dịch vụ để bắt đầu tự động:

root@vpn:/usr/local/vpnserver# vi /lib/systemd/system/vpnserver.service

[Unit] Description=SoftEther VPN Server After=network.target

[Service] Type=forking ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop

[Install] WantedBy=multi-user.target

  • root @ vpn: / usr / local / vpnserver # systemctl enable vpnserver.service
  • root @ vpn: / usr / local / vpnserver # systemctl start vpnserver.service

 

9. Cấu hình SOFTETHER

Tải xuống trình quản lý SoftEther, chạy nó. Bấm vào mục cài đặt mới, chọn tên bạn muốn và đặt ip của VPS máy chủ ảo của bạn và bấm vào ok.

Khi vào bên trong, bạn sẽ thấy một trình hướng dẫn, hãy đóng nó và đi tới IPSec / L2tp, ở đó kích hoạt tùy chọn đầu tiên l2tp trên ipsec và thay đổi trước và nhấp vào ok. Sau đó, vào Local Bridge Setting trong virtual hub chọn mặc định và card mạng eth0 và nhấp vào tùy chọn Create Local Bridge và xác minh rằng trạng thái đang hoạt động.

Leave a Reply