Bagaimana cara mengatur OpenVPN agar klien VPN dapat mengakses semua server di dalam server LAN?

12

Server IP LAN saya adalah 192.168.1.1 dan ada server web intranet pada 192.168.1.2 Daemon OpenVPN dikonfigurasi untuk memberikan alamat klien 192.168.2. *.

Ada push "route 192.168.1.0 255.255.255.0"baris dalam konfigurasi yang saya harapkan akan memungkinkan klien VPN untuk mengakses seluruh jaringan 192.168.1.0, tetapi mereka hanya dapat mengakses 192.168.1.1 - server VPN itu sendiri.

Saya sudah mencoba memungkinkan net.ipv4.ip_forward = 1di /etc/sysctl.conftetapi ini tidak membantu.

Ada ide?

PS: Server menjalankan Ubuntu 12.04.
PPS: OpenVPN berjalan dalam tunmode di atas UDP.

Ivan
sumber
Dear @FrandsHansen, saya hanya menerima jawaban yang pada saat yang sama 1. adalah jawaban yang benar secara logis untuk pertanyaan, 2. telah diuji oleh saya untuk bekerja.
Ivan

Jawaban:

19

Pastikan bahwa penerusan ip diaktifkan secara akut

echo 1 > /proc/sys/net/ipv4/ip_forward

Juga, agar push route berfungsi, server di dalam juga perlu mengetahui rute ke alamat IP klien OpenVPN Anda. Jadi mereka perlu tahu rute ke 192.168.2.0/24

Kemungkinan besar Anda dapat membuat iptables melakukan routing menggunakan masquerade

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
Frands Hansen
sumber
echo 1 > /proc/sys/net/ipv4/ip_forwardmemberi -bash: /proc/sys/net/ipv4/ip_forward: Permission denied- apa artinya dalam kasus ini?
Ivan
Kemungkinan besar itu berarti Anda tidak melakukannya sebagai root. Coba lakukan sebagai root
Frands Hansen
Efeknya sama saja sudo. Apa hasil yang dimaksudkan?
Ivan
1
Menempatkan sudo di depan perintah tidak akan menambahkan hak istimewa ke file (setelah>), jadi Anda harus naik ke root dan kemudian lakukan.
Frands Hansen
1
atau gunakanecho 1 | sudo tee
ygrek
2

Jika jaringan LAN Anda benar-benar 192.168.1.0/24, maka Anda bisa mendapatkan banyak masalah. Karena sebagian besar router memiliki jaringan default itu. Jadi, ketika Anda berada di jaringan tamu, komputer Anda bisa mendapatkan ip dari jaringan 192.168.1.0/24. Jadi, Anda tidak dapat mengakses jaringan jarak jauh Anda, tetapi jaringan tamu. Saya sarankan pilih jaringan lain untuk LAN dan VPN Anda. misalnya 192.170.15.0/24 untuk LAN dan 10.0.5.0/xx untuk vpn. xx tergantung pada seberapa banyak vpn klien terhubung ke LAN.

di sini adalah skrip fw saya untuk openvpn

#!/bin/sh

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT

# Allow packets from private subnets
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT

# i have multiple vpn networks
# 192.123.123.0/24 = LAN
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.0.0/30 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.1.0/30 -o eth1 -d 192.123.123.39 -j MASQUERADE # to single server access only

echo 1 > /proc/sys/net/ipv4/ip_forward
Guntis
sumber
Tidak, sebenarnya bukan 192.168.1.0, hanya 2 jaring 192.168 yang berbeda. #. 0. Terima kasih atas jawabannya.
Ivan
Jika Anda perlu, saya dapat membagikan konfigurasi server openvpn saya dan konfigurasi klien.
Guntis