π§© ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Tun/Tap Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Proxmox LXC

ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΡΡΠ΅Π· LXC ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² Proxmox VE ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΈ Π»Π΅ΠΊ Π½Π°ΡΠΈΠ½ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ ΠΎΠ±Π°ΡΠ΅, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ VPN ΡΠΎΡΡΡΠ΅Ρ ΠΊΠ°ΡΠΎ OpenVPN, WireGuard ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Tun/Tap ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΡΠΎΠ²Π° Π½Π΅ Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΡΡΠ½ΠΎ.
π ΠΠ°ΠΊΠ²ΠΎ Π΅ Tun/Tap?
Tun (network TUNnel) ΠΈ Tap (network TAP) ΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ:
- Tun ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ IP ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΠΎΡ VPN ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
- Tap ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Ethernet ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΈΠΌΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΊΠ°ΡΡΠ°.
β Π‘ΡΡΠΏΠΊΠ° ΠΏΠΎ ΡΡΡΠΏΠΊΠ°: ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Tun/Tap Π² Proxmox LXC
πΉ 1. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π»ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΡ tun
Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½ Π½Π° Ρ
ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°
ΠΠ° Proxmox Ρ ΠΎΡΡΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅:
lsmod | grep tun
ΠΠΊΠΎ Π½ΡΠΌΠ° ΠΈΠ·Ρ ΠΎΠ΄, ΠΌΠΎΠ΄ΡΠ»ΡΡ Π½Π΅ Π΅ Π·Π°ΡΠ΅Π΄Π΅Π½. ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Π³ΠΎ ΡΡΡ:
modprobe tun
ΠΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅:
echo "tun" >> /etc/modules
πΉ 2. Π‘ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
ΠΠ°ΠΌΠ΅ΡΠ΅ΡΠ΅ ID-ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 105
) ΠΈ Π³ΠΎ ΡΠΏΡΠ΅ΡΠ΅:
pct stop 105
πΉ 3. Π Π°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Tun ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π·Π° LXC ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
nano /etc/pve/lxc/105.conf
ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π² ΠΊΡΠ°Ρ:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file[/terminal]
π‘ ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠ°: Π£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΠΏΡΡΡΡ /dev/net/tun
ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° Π½Π° Ρ
ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠΊΠΎ Π½Π΅, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ Π³ΠΎ:
mkdir -p /dev/netmknod /dev/net/tun c 10 200chmod 600 /dev/net/tun
πΉ 4. Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ
pct start 105
πΉ 5. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΡΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
ΠΠ»Π΅Π·ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
pct enter 105
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° tun
:
ls -l /dev/net/tun/
ΠΠ·Ρ
ΠΎΠ΄ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ crw-------
ΠΈ major/minor 10, 200
.
π§ͺ ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°: OpenVPN ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ OpenVPN Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄Π°Π»ΠΈ ΡΡΠ½Π΅Π»Π½ΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°:
systemctl start openvpnip a | grep tun
π οΈ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅Π· hook ΡΠΊΡΠΈΠΏΡ (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½ΠΎ)
ΠΠΊΠΎ ΡΠ΅ΡΡΠΎ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ LXC ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Ρ Π½ΡΠΆΠ΄Π° ΠΎΡ TUN, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ hook ΡΠΊΡΠΈΠΏΡ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅. Π‘Π²ΡΡΠΆΠΈ ΡΠ΅, Π°ΠΊΠΎ ΠΈΡΠΊΠ°Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ΅Π½ ΡΠ°ΠΊΡΠ² ΡΠΊΡΠΈΠΏΡ.
π§Ύ ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Tun/Tap Π² LXC ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π½Π° Proxmox Π΅ Π»Π΅ΡΠ½Π°, Π½ΠΎ Π²Π°ΠΆΠ½Π° ΡΡΡΠΏΠΊΠ° ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° VPN ΡΡΡΠ²ΡΡΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄Π° ΡΠ°Π·ΡΠΈΡΠΈΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΡΠΈ ΠΈ Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Ρ ΠΏΡΠ»Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌ Π²ΠΈ Π·Π° ΠΏΡΠΎΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°! ΠΠΊΠΎ Π½Π°ΠΌΠ΅ΡΠΈΡ ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π±ΡΡΠΎΠ½ΠΈΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρ: π° Donate βοΈ ΠΠ°ΡΠ΅ΡΠ΅ Ρ PayPalDonate π³ ΠΠ°ΡΠ΅ΡΠ΅ Ρ Revolut