diesel_tt Posted December 19, 2016 Posted December 19, 2016 Добрый день ! Коллеги просьба помочь разобраться с вопросом по OPENVPN. Задача на первый взгляд не сложная, требуется создать доступ удаленным пользователям (OPENVPN client) доступ в локальную сеть к своим компам или сетевым ресурсам. Подключение происходит но вот хождения пакетов в локальную сеть не наблюдается. Сервер с двумя сетевками eth0 смотрит в мир eth1 смотрит в локалку При запуске OPENVP server создается интерфейс tun0 конфиги сервера и фаервола привожу ниже server.conf local 192.168.10.1 #change with your port port 5555 #You can use udp or tcp proto udp # "dev tun" will create a routed IP tunnel. dev tun #Certificate Configuration #ca certificate ca /etc/openvpn/ca.crt #Server Certificate cert /etc/openvpn/server.crt #Server Key and keep this is secret key /etc/openvpn/server.key #See the size a dh key in /etc/openvpn/ dh /etc/openvpn/dh2048.pem #user nobody #group nogroup # указываем внутренний DNS и WINS серверы push "dhcp-option DNS 192.168.5.3" push "dhcp-option DNS 8.8.8.8" push "route 192.168.5.0 255.255.255.0" # client-config-dir ccd route 192.168.0.0 255.255.255.0 #Internal IP will get when already connect server 172.16.20.0 255.255.255.0 #this line will redirect all traffic through our OpenVPN #push "redirect-gateway def1" #push "redirect-gateway local" #Provide DNS servers to the client, you can use goolge DNS #push "route 192.168.5.0 255.255.255.0" client-config-dir ccd #route 192.168.0.0 255.255.255.0 client-to-client #Enable multiple client to connect with same key duplicate-cn cipher DES-EDE3-CBC keepalive 20 60 comp-lzo persist-key persist-tun daemon #enable log log-append /var/log/openvpn.log #Log Level verb 5 #!/bin/sh IPT="/usr/sbin/iptables" # Интерфейс который смотрит в интернет WAN="eth0" WAN_IP="192.168.10.1" # Интерфейс который смотрит в локальную сеть LAN="eth1" LAN_IP="192.168.5.3" # Очистка всех цепочек iptables $IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -X $IPT -t nat -X $IPT -t mangle -X # Установим политики по умолчанию для трафика, не соответствующего ни одному из правил $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP # разрешаем локальный траффик для и loopback $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT $IPT -A INPUT -i $LAN -s 192.168.5.0/24 -j ACCEPT $IPT -A OUTPUT -o $LAN -s 192.168.5.0/24 -j ACCEPT $IPT -A INPUT -s 192.168.5.0/24 -p icmp --icmp-type echo-request -j ACCEPT ########################################################################### # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. # Пропускать все уже инициированные соединения, а также дочерние от них $IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Пропускать новые, а так же уже инициированные и их дочерние соединения $IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT ########################################################################### # Разрешаем исходящие соединения самого сервера $IPT -A OUTPUT -o $WAN -j ACCEPT #$IPT -A INPUT -i $WAN -j ACCEPT # Открываем порт для ssh #$IPT -A INPUT -i $WAN -p tcp --dport 3989 -j ACCEPT $IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT $IPT -A INPUT -i $LAN -p tcp --dport 22 -j ACCEPT # Открываем порт для DNS $IPT -A INPUT -i $WAN -p udp --dport 53 -j ACCEPT $IPT -A INPUT -i $LAN_IP -p udp --dport 53 -j ACCEPT # Открываем порт для NTP $IPT -A INPUT -p tcp -m tcp --sport 123 -j ACCEPT $IPT -A OUTPUT -p tcp -m tcp --dport 123 -j ACCEPT $IPT -A INPUT -p udp -m udp --dport 5555 -j ACCEPT $IPT -A OUTPUT -p udp --sport 5555 -j ACCEPT # Включаем фрагментацию пакетов. Необходимо из за разных значений MTU $IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu $IPT -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT $IPT -A FORWARD -m conntrack --ctstate NEW -i $LAN -s 192.168.5.0/24 -j ACCEPT #$IPT -P FORWARD DROP ########################################################################## ##NAT $IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE ############################################################################### #$IPT-A FORWARD -s 172.16.20.0/24 -d 192.168.5.0/24 -j ACCEPT $IPT -A FORWARD -i $WAN -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A FORWARD -s 172.16.20.0/24 -j ACCEPT $IPT -A FORWARD -d 172.16.20.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -t nat -A POSTROUTING -s 172.16.20.0/24 -j SNAT --to-source 192.168.10.1 /sbin/iptables-save > /etc/sysconfig/iptables Коннект есть к серверу и есть выход в интернет через него, но задача стоит доступ в локальную сеть! Заранее благодарю за ответы. Вставить ник Quote
Ivan_83 Posted December 19, 2016 Posted December 19, 2016 tcpdump смотри что куда ходит на внутренних интерфейсах. Вставить ник Quote
diesel_tt Posted December 19, 2016 Author Posted December 19, 2016 Всем спасибо , разобрался сам. Дело было в объявлении маршрутов которые прописываются в server.conf а точнее директива client-config-dir ccd там необходимо прописать сетку клиента который допустим сидит из дому. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.