diesel_tt 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 Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted December 19, 2016 tcpdump смотри что куда ходит на внутренних интерфейсах. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
diesel_tt Posted December 19, 2016 Всем спасибо , разобрался сам. Дело было в объявлении маршрутов которые прописываются в server.conf а точнее директива client-config-dir ccd там необходимо прописать сетку клиента который допустим сидит из дому. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...