openrouter.info
http://openrouter.info/forum/

[R]openwrt + openvpn - zewnętrzny gość jako LAN?
http://openrouter.info/forum/viewtopic.php?f=22&t=4284
Strona 1 z 1

Autor:  byku [ 3 sty 2017, 04:22 ]
Tytuł:  [R]openwrt + openvpn - zewnętrzny gość jako LAN?

Witam, od długiego czasu mnie to dręczyło i wkońcu próbuję.
Śledząc przewodnik ---> https://wiki.openwrt.org/doc/howto/vpn.openvpn
który udało mi się nawet zrozumieć wykonałem w/w kroki.

Problem 1. Certyfikaty utworzone, wyciągnięte WinSCP na kompa, skopiowane kablem usb na smartfona, Openvpn connect w użyciu. Połączenie uzyskane- wpisuje adres routera http/pinguje (192.168.1.1) nie odpowiada. Co jest źle?
ps. smartfon jest w sieci komórkowej i używa 3g/hdspa/lte ogólnie mówiąc internetu "komórkowego"

2. Configure Clients For Your Server
wklepane - nazwa podmieniona na .opvn , wyedytowane lokalizacje certyfikatów (karta sd) , dynamiczny dns wstawiony,
"route 192.168.1.0 255.255.255.0" - doklepane z (https://wiki.openwrt.org/doc/howto/vpn. ... penvpn.tun)

3
log openvpn.log
verb 3

ciekwe po co to jest - nie sprawdzałem gdzie "Openvpn Connect" to zapisuje? - czy wymusza na serwerze intensywność wydzierania się logów, i stworzenia pliku log u siebie?

4. najważniejsze polecenie dzisiejszego dnia
uci add_list openvpn.myvpn.push='redirect-gateway def1'
- nie działa

5.Troubleshooting - punkt 1, cat /tmp/openvpn.log - nie istnieje (NA serwerze)
/etc/init.d/firewall stop - nie pomaga - dalej nie widzi laptopa, routera


6. I całość zabawy na tacy:
login as: root
root@192.168.1.1's password:


BusyBox v1.23.2 (2016-01-02 18:01:44 CET) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 CHAOS CALMER (15.05.1, r48532)
 -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
 -----------------------------------------------------
root@OpenWrt:~# uci set network.vpn0=interface
root@OpenWrt:~# uci set network.vpn0.ifname=tun0
root@OpenWrt:~# uci set network.vpn0.proto=none
root@OpenWrt:~# uci set network.vpn0.auto=1
root@OpenWrt:~# uci set firewall.Allow_OpenVPN_Inbound=rule
root@OpenWrt:~# uci set firewall.Allow_OpenVPN_Inbound.target=ACCEPT
root@OpenWrt:~# uci set firewall.Allow_OpenVPN_Inbound.src=*
root@OpenWrt:~# uci set firewall.Allow_OpenVPN_Inbound.proto=udp
root@OpenWrt:~# uci set firewall.Allow_OpenVPN_Inbound.dest_port=1194
root@OpenWrt:~# uci set firewall.vpn=zone
root@OpenWrt:~# uci set firewall.vpn.name=vpn
root@OpenWrt:~# uci set firewall.vpn.network=vpn0
root@OpenWrt:~# uci set firewall.vpn.input=ACCEPT
root@OpenWrt:~# uci set firewall.vpn.forward=REJECT
root@OpenWrt:~# uci set firewall.vpn.output=ACCEPT
root@OpenWrt:~# uci set firewall.vpn.masq=1
root@OpenWrt:~# uci set firewall.vpn_forwarding_lan_in=forwarding
root@OpenWrt:~# uci set firewall.vpn_forwarding_lan_in.src=vpn
root@OpenWrt:~# uci set firewall.vpn_forwarding_lan_in.dest=lan
root@OpenWrt:~# uci set firewall.vpn_forwarding_lan_out=forwarding
root@OpenWrt:~# uci set firewall.vpn_forwarding_lan_out.src=lan
root@OpenWrt:~# uci set firewall.vpn_forwarding_lan_out.dest=vpn
root@OpenWrt:~# uci set firewall.vpn_forwarding_wan=forwarding
root@OpenWrt:~# uci set firewall.vpn_forwarding_wan.src=vpn
root@OpenWrt:~# uci set firewall.vpn_forwarding_wan.dest=wan
root@OpenWrt:~# uci commit network
root@OpenWrt:~# /etc/init.d/network reload
root@OpenWrt:~# uci commit firewall
root@OpenWrt:~# /etc/init.d/firewall reload
Warning: Unable to locate ipset utility, disabling ipset support
Warning: Section @zone[1] (wan) cannot resolve device of network 'wan6'
Warning: Option @rule[5]._name is unknown
 * Clearing IPv4 filter table
 * Clearing IPv4 nat table
 * Clearing IPv4 mangle table
 * Clearing IPv4 raw table
 * Populating IPv4 filter table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'vpn'
   * Rule 'Allow-DHCP-Renew'
   * Rule 'Allow-Ping'
   * Rule #5
   * Rule #6
   * Forward 'lan' -> 'wan'
   * Forward 'vpn' -> 'lan'
   * Forward 'lan' -> 'vpn'
   * Forward 'vpn' -> 'wan'
 * Populating IPv4 nat table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'vpn'
 * Populating IPv4 mangle table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'vpn'
 * Populating IPv4 raw table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'vpn'
 * Clearing IPv6 filter table
 * Clearing IPv6 mangle table
 * Clearing IPv6 raw table
 * Populating IPv6 filter table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'vpn'
   * Rule 'Allow-DHCPv6'
   * Rule 'Allow-ICMPv6-Input'
   * Rule 'Allow-ICMPv6-Forward'
   * Rule #5
   * Rule #6
   * Forward 'lan' -> 'wan'
   * Forward 'vpn' -> 'lan'
   * Forward 'lan' -> 'vpn'
   * Forward 'vpn' -> 'wan'
 * Populating IPv6 mangle table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'vpn'
 * Populating IPv6 raw table
   * Zone 'lan'
   * Zone 'wan'
   * Zone 'vpn'
 * Flushing conntrack: 62.XXX.XXX.74
 * Flushing conntrack: 62.XXX.XXX.74
 * Set tcp_ecn to off
 * Set tcp_syncookies to on
 * Set tcp_window_scaling to on
root@OpenWrt:~# echo > /etc/config/openvpn # clear the openvpn uci config
root@OpenWrt:~# uci set openvpn.myvpn=openvpn
root@OpenWrt:~# uci set openvpn.myvpn.enabled=1
root@OpenWrt:~# uci set openvpn.myvpn.verb=3
root@OpenWrt:~# uci set openvpn.myvpn.port=1194
root@OpenWrt:~# uci set openvpn.myvpn.proto=udp
root@OpenWrt:~# uci set openvpn.myvpn.dev=tun
root@OpenWrt:~# uci set openvpn.myvpn.server='10.8.0.0 255.255.255.0'
root@OpenWrt:~# uci set openvpn.myvpn.keepalive='10 120'
root@OpenWrt:~# uci set openvpn.myvpn.ca=/etc/openvpn/ca.crt
root@OpenWrt:~# uci set openvpn.myvpn.cert=/etc/openvpn/my-server.crt
root@OpenWrt:~# uci set openvpn.myvpn.key=/etc/openvpn/my-server.key
root@OpenWrt:~# uci set openvpn.myvpn.dh=/etc/openvpn/dh2048.pem
root@OpenWrt:~# uci commit openvpn
root@OpenWrt:~# /etc/op
openvpn/         openwrt_release  openwrt_version  opkg.conf        opkg/
root@OpenWrt:~# /etc/open
openvpn/         openwrt_release  openwrt_version
root@OpenWrt:~# /etc/openvpn/
ca.crt         crl.pem        dh2048.pem     my-server.crt  my-server.csr  my-server.key  userpass.txt
root@OpenWrt:~#
root@OpenWrt:~# openvpn/         openwrt_release  openwrt_version
-ash: openvpn/: not found
root@OpenWrt:~# root@OpenWrt:~# /etc/openvpn/
-ash: root@OpenWrt:~#: not found
root@OpenWrt:~# ca.crt         crl.pem        d
-ash: ca.crt: not found
root@OpenWrt:~# /etc/init.d/openvpn enable
root@OpenWrt:~# /etc/init.d/openvpn start
root@OpenWrt:~# traceroute 10.8.0.1
traceroute to 10.8.0.1 (10.8.0.1), 30 hops max, 38 byte packets
 1  10.8.0.1 (10.8.0.1)  0.078 ms  0.050 ms  0.049 ms
root@OpenWrt:~# traceroute 8.8.8.8 #Google-DNS server
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 38 byte packets
 1  *  *  *
 2  PODMIENIONE1.PODMIENIONE2.pl (XXX.XXX.XXX.1)  2.424 ms  1.814 ms  1.248 ms
 3  google1.plix.pl (195.182.219.69)  10.392 ms  9.811 ms  9.980 ms
 4  72.14.238.127 (72.14.238.127)  11.136 ms  72.14.238.113 (72.14.238.113)  10.289 ms  72.14.238.127 (72.14.238.127)  10.440 ms
 5  209.85.241.231 (209.85.241.231)  23.409 ms  24.286 ms  216.239.57.240 (216.239.57.240)  24.263 ms
 6  209.85.143.25 (209.85.143.25)  27.186 ms  209.85.143.26 (209.85.143.26)  26.589 ms  66.249.95.39 (66.249.95.39)  27.442 ms
 7  108.170.234.127 (108.170.234.127)  31.077 ms  31.403 ms  31.394 ms
 8  209.85.248.71 (209.85.248.71)  31.438 ms  31.445 ms  108.170.234.143 (108.170.234.143)  30.286 ms
 9  *  *  *
10  google-public-dns-a.google.com (8.8.8.8)  31.009 ms  30.486 ms  30.125 ms
root@OpenWrt:~# uci add_list openvpn.myvpn.push='redirect-gateway def1'
root@OpenWrt:~# cat /tmp/openvpn.log
cat: can't open '/tmp/openvpn.log': No such file or directory
root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdae:a817:10d1::/48'

config interface 'lan'
        option ifname 'eth0'
        option force_link '1'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option ifname 'eth1'
        option _orig_ifname 'eth1'
        option _orig_bridge 'false'
        option proto 'pppoe'
        option username 'NUMERKLIENTA@ost'
        option password 'NIEMAPODGLĄDANIA'

config interface 'wan6'
        option ifname '@wan'
        option proto 'dhcpv6'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 3 4'

config interface 'vpn0'
        option ifname 'tun0'
        option proto 'none'
        option auto '1'

root@OpenWrt:~# cat /etc/config/firewall

config defaults
        option syn_flood '1'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone
        option name 'lan'
        list network 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'

config zone
        option name 'wan'
        list network 'wan'
        list network 'wan6'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option src_ip 'fe80::/10'
        option src_port '547'
        option dest_ip 'fe80::/10'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config include
        option path '/etc/firewall.user'

config rule
        option _name 'luci_wan'
        option src 'wan'
        option target 'ACCEPT'
        option proto 'tcp'
        option dest_port '443'

config rule
        option target 'ACCEPT'
        option src 'wan'
        option proto 'tcp'
        option name 'ssh'
        option dest_port '222'
        option enabled '0'

config rule 'Allow_OpenVPN_Inbound'
        option target 'ACCEPT'
        option src '*'
        option proto 'udp'
        option dest_port '1194'

config zone 'vpn'
        option name 'vpn'
        option network 'vpn0'
        option input 'ACCEPT'
        option forward 'REJECT'
        option output 'ACCEPT'
        option masq '1'

config forwarding 'vpn_forwarding_lan_in'
        option src 'vpn'
        option dest 'lan'

config forwarding 'vpn_forwarding_lan_out'
        option src 'lan'
        option dest 'vpn'

config forwarding 'vpn_forwarding_wan'
        option src 'vpn'
        option dest 'wan'

root@OpenWrt:~# cat /etc/config/openvpn

config openvpn 'myvpn'
        option enabled '1'
        option verb '3'
        option port '1194'
        option proto 'udp'
        option dev 'tun'
        option server '10.8.0.0 255.255.255.0'
        option keepalive '10 120'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/my-server.crt'
        option key '/etc/openvpn/my-server.key'
        option dh '/etc/openvpn/dh2048.pem'

root@OpenWrt:~# uci add_list openvpn.myvpn.push='redirect-gateway def1'

/etc/config/firewall jest pusty
7. wcześniej próbowałem tej strony https://www.robertkehoe.com/2015/08/set ... g-openwrt/ - pewnie jest jakiś śmietnik
8.? Warning: Option @rule[5]._name is unknown
9. Zdefiniuj dodatkowe opcje DHCP, np. "6,192.168.2.1,192.168.2.2" rozgłasza domyślne serwery DNS klientom DHCP. - co tu powinno być puste? jakieś wartości tam były zanim to zmieniłem

10. Smartfon mówi że ma połączenie, a pan interfejs VLAN0 mówi, że nie...
Obrazek

root@OpenWrt:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr F8:1A:67:E5:XX:XX
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::fa1a:67ff:fee5:5e99/64 Scope:Link
          inet6 addr: fdae:a817:10d1::1/60 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12470 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19125 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1535501 (1.4 MiB)  TX bytes:15938746 (15.2 MiB)

eth0      Link encap:Ethernet  HWaddr F8:1A:67:E5:XX:XX
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:5

eth1      Link encap:Ethernet  HWaddr F8:1A:67:E5:XX:XX
          inet6 addr: fe80::fa1a:67ff:fee5:5e9b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21857 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15688 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14913119 (14.2 MiB)  TX bytes:1603234 (1.5 MiB)
          Interrupt:4

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:276 errors:0 dropped:0 overruns:0 frame:0
          TX packets:276 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:32443 (31.6 KiB)  TX bytes:32443 (31.6 KiB)

pppoe-wan Link encap:Point-to-Point Protocol
          inet addr:62.133.999.999  P-t-P:62.133.999.999  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:10598 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6982 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:9690803 (9.2 MiB)  TX bytes:968519 (945.8 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr F8:1A:67:E5:XX:XX
          inet6 addr: fe80::fa1a:67ff:fee5:5e9a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15984 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19142 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2692818 (2.5 MiB)  TX bytes:16324585 (15.5 MiB)

root@OpenWrt:~#

Autor:  obsy [ 3 sty 2017, 06:44 ]
Tytuł:  Re: openwrt + openvpn - zewnętrzny gość jako LAN?

4. root@OpenWrt:~# uci add_list openvpn.myvpn.push='redirect-gateway def1'

uci commit nie zrobiłeś.

5. root@OpenWrt:~# cat /tmp/openvpn.log
cat: can't open '/tmp/openvpn.log': No such file or directory

Nigdzie nie wskazałeś że te logi mają tu właśnie być (uci set openvpn.myvpn.log=/tmp/openvpn.log; uci commit).

/etc/config/firewall nie jest pusty, sam go pokazałeś.

restart usługi openvpn musisz zrobić.

8.zignoruj, to tylko nazwa dla luci żeby się "ładnie" wyświetlało.

Autor:  byku [ 3 sty 2017, 08:11 ]
Tytuł:  Re: openwrt + openvpn - zewnętrzny gość jako LAN?

Cezary dziękuję za prezent na nowy rok "it works".
5 punktu nawet bym sie nie domyślił nie było na "tacy" (nie było tego na wiki)
miałem na myśli firewall.user
8. chyba mówisz o tym że na liście otwartych portów (w luci) jest pauza zamiast nazwy .

ps. da się zrobić żeby dzierżawy dhcp z vpn też były widoczne na liście w luci czy to zbyt trudne?

Autor:  obsy [ 3 sty 2017, 08:44 ]
Tytuł:  Re: [R]openwrt + openvpn - zewnętrzny gość jako LAN?

Aplet do luci nie zawiera tego, nikt tego nie napisał. Trudne jak trudne, ktoś musi napisać.

Autor:  khain [ 5 sty 2017, 10:35 ]
Tytuł:  Re: [R]openwrt + openvpn - zewnętrzny gość jako LAN?

Wyświetlanie podłączonych klientów openvpn w LUCI
1) w pliku /etc/config/openvpn w sekcji serwera dodajemy:
option status /tmp/openvpn-status.log

Jeśli korzystamy z custom config w openvpn to w pliku konfiguracyjnym serwera dodajemy:
status   /tmp/openvpn-status.log

Zrobić restart openvpn
/etc/init.d/openvpn restart

2) Dodajemy w menu Status kolejny element o nazwie OpenVPN Status.
W pliku /usr/lib/lua/luci/controller/admin/status.lua dodajemy linię
entry({"admin","status","openvpn"},call("action_openvpnstatus"),_("OpenVPN Status"),5)

Liczba na końcu musi odpowiadać kolejności w jakiej mają wyświetlać się elementy, więc należy zmienić ją w tym wierszu oraz w kolejnych. U mnie początek pliku wygląda tak:
module("luci.controller.admin.status",package.seeall)
function index()
entry({"admin","status"},alias("admin","status","overview"),_("Status"),20).index=true
entry({"admin","status","overview"},template("admin_status/index"),_("Overview"),1)
entry({"admin","status","iptables"},call("action_iptables"),_("Firewall"),2).leaf=true
entry({"admin","status","routes"},template("admin_status/routes"),_("Routes"),3)
entry({"admin","status","syslog"},call("action_syslog"),_("System Log"),4)
entry({"admin","status","openvpn"},call("action_openvpnstatus"),_("OpenVPN Status"),5)
entry({"admin","status","dmesg"},call("action_dmesg"),_("Kernel Log"),6)
entry({"admin","status","processes"},cbi("admin_status/processes"),_("Processes"),7)

Następnie na końcu tego pliku dodajemy funkcję:
function action_openvpnstatus()
    luci.template.render("admin_status/openvpnstatus", {openvpnstatus=openvpnstatus})
end

Zrobić reboot routera. Powinien pojawić się nowy element w menu Status.
3) Tworzymy plik /usr/lib/lua/luci/view/admin_status/openvpnstatus o zawartości:
<%#
 Copyright 2008-2009 Steven Barth <steven@midlink.org>
 Copyright 2008-2015 Jo-Philipp Wich <jow@openwrt.org>
 Licensed to the public under the Apache License 2.0.
-%>

<%-
   local style = true
   lines = luci.sys.exec("grep \"10\\.8\" /tmp/openvpn-status.log | wc -l")
-%>

<%+header%>

<div class="cbi-map" id="cbi-openvpn">
   <h2><a id="content" name="content"><%:OpenVPN%></a></h2>
   <div class="cbi-map-descr"><%:The following OpenVPN clients are connected.%></div>

   <fieldset class="cbi-section">
      <legend>OpenVPN</legend>
      <div class="cbi-section-node">
         <table class="cbi-section-table">
            <tr class="cbi-section-table-titles">
               <th class="cbi-section-table-cell"><%:Virtual IP%></th>
               <th class="cbi-section-table-cell"><%:Client Common Name%></th>
               <th class="cbi-section-table-cell"><%:Real IP%></th>
               <th class="cbi-section-table-cell"><%:Last refresh%></th>
            </tr>

            <%for counter=1,lines,1 do %>
         <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>">
               <td class="cbi-value-field">
               <%   vip = luci.sys.exec("grep \"10\\.8\" /tmp/openvpn-status.log | cut -d\, -f1 |sed -n '".. counter .."p'")
                  print(vip) %>
               </td>
               <td class="cbi-value-field">
               <%   vip = luci.sys.exec("grep \"10\\.8\" /tmp/openvpn-status.log | cut -d\, -f2 |sed -n '".. counter .."p'")
                  print(vip) %>
               </td>
               <td class="cbi-value-field">
               <%   vip = luci.sys.exec("grep \"10\\.8\" /tmp/openvpn-status.log | cut -d\, -f3 |sed -n '".. counter .."p'")
                  print(vip) %>
               </td>
               <td class="cbi-value-field">
               <%   vip = luci.sys.exec("grep \"10\\.8\" /tmp/openvpn-status.log | cut -d\, -f4 |sed -n '".. counter .."p'")
                  print(vip) %>
               </td>
            </tr>
            <%
                  style = not style   
            %>
            <% end%>
         </table>
      </div>
   </fieldset>
   <br />
</div>

<%+footer%>

Wpis \"10\\.8\" to pierwsze dwa oktety podsieci wewnątrz tunelu (w przypadku TUN) jeśli używamy innej podsieci to należy zmienić ten wpis na odpowiedni.
W przypadku TAPa należy wpisać pierwsze dwa oktety podsieci, z której router rozdaje adresy IP klientom z serwera DHCP.
Nie testowałem na TAPie, więc może to nie działać prawidłowo. Skrypt jest bardzo prosty, więc wszelkie sugestie i poprawki mile widziane.

Autor:  obsy [ 5 sty 2017, 12:17 ]
Tytuł:  Re: [R]openwrt + openvpn - zewnętrzny gość jako LAN?

Wyślij do deweloperów luci...

Autor:  khain [ 5 sty 2017, 12:34 ]
Tytuł:  Re: [R]openwrt + openvpn - zewnętrzny gość jako LAN?

To nie jest uniwersalny kod, więc wstyd to wysyłać do developerów. Trzeba jeszcze dopisać kod, który:
1) rozpoznawałby czy openvpn używa tap czy tun,
2) rozpoznawałby gdzie jest przechowywany log openvpn i ewentualnie dodawał option status do /etc/config/openvpn do odpowiedniej sekcji
3) rozpoznawałby jaki adres jest wewnątrz tunelu (TUN) albo jaki adres IP z DHCP dostali klienci (TAP)
4) estetyczne: sortowanie, np. według adresu IP klienta

Strona 1 z 1 Strefa czasowa UTC+1godz.
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/