meta data for this page
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior Próxima revisão Ambos lados da revisão seguinte | ||
integracao_mikrotik [2020/02/01 18:31] djol |
integracao_mikrotik [2022/11/23 15:28] gabriel |
||
---|---|---|---|
Linha 1: | Linha 1: | ||
====== Integração com MikroTik ====== | ====== Integração com MikroTik ====== | ||
Para integrar o MikroTik ao sistema acesse-o através de SSH ou, Winbox e Execute os seguintes comandos: | Para integrar o MikroTik ao sistema acesse-o através de SSH ou, Winbox e Execute os seguintes comandos: | ||
- | <note important> | + | <note importante> |
Substitua as seguintes variáveis nos comandos abaixo de acordo com sua configuração: | Substitua as seguintes variáveis nos comandos abaixo de acordo com sua configuração: | ||
- | * **IP** - IP que o SGP que o SGP responde (privado ou publico) | + | * **AUC** - Porta do accounting, se o SGP for LOCAL a porta é padrão 1812 se for Nuvem consultar SUPORTE. |
- | * **BLQ** - Porta em que a página de bloqueio será exibida. Consulte a [[tabela_variaveis|tabela de variáveis]]. | + | * **ACC** - Porta do authentication, se o SGP for LOCAL a porta é padrão 1813 se for Nuvem consultar SUPORTE. |
- | * **AVS** - Porta em que a página de aviso de bloqueio será exibida. Consulte a [[tabela_variaveis|tabela de variáveis]]. | + | * **LINKDOSGP** - URL do SGP (ex: http://meusgplocal.com.br:8000 ou https://meusgpnuvem.sgp.net.br) |
- | * **PASSVPNUSER** - Password que o SGP Utilizará para acessar o NAS. Recomendamos que seja gerada (se usar VPN usa-se a mesma senha) por mecanismos de geração de password com um tamanho minimo de 15 caracteres. Armazene essa senha em um local seguro, ela será necessária para configurar o SGP. No Linux, é possível criar a senha com o comando **openssl rand - -hex 15**. | + | * **RADIUS** - IP que o SGP responde, em caso de Nuvem será o IP que responde ou o gateway da VPN fornecida pelo suporte. |
+ | * **BLQ** - Porta em que a página de bloqueio será exibida se o SGP for LOCAL é padrão 6403. Consulte a [[tabela_variaveis|tabela de variáveis]] para ver o conteúdo da pagina. | ||
+ | * **AVS** - Porta em que a página de aviso de bloqueio será exibida se o SGP for LOCAL é padrão 6403. Consulte a [[tabela_variaveis|tabela de variáveis]] para ver o conteúdo da pagina. | ||
+ | * **PASSVPNUSER** - Password que o SGP Utilizará para acessar o NAS. Recomendamos que seja gerada (se usar VPN usa-se a mesma senha) por mecanismos de geração de password com um tamanho mínimo de 15 caracteres. Armazene essa senha em um local seguro, ela será necessária para configurar o SGP. No Linux, é possível criar a senha com o comando **openssl rand - -hex 15**. | ||
</note> | </note> | ||
Linha 14: | Linha 17: | ||
<code> | <code> | ||
+ | |||
:global USERVPN "USUÁRIO_DA_VPN" | :global USERVPN "USUÁRIO_DA_VPN" | ||
- | /export file=BACKUP_ANTES_DO_SGP | + | /system backup save name=BACKUP_ANTES_DO_SGP |
+ | /export file=BACKUP_ANTES_DO_SGP_TXT | ||
:global PASSVPNUSER "SENHA_DA_VPN_E_USUÁRIO" | :global PASSVPNUSER "SENHA_DA_VPN_E_USUÁRIO" | ||
:global AUC "1812" | :global AUC "1812" | ||
Linha 21: | Linha 26: | ||
:global RADIUS "IP_DO_RADIUS" | :global RADIUS "IP_DO_RADIUS" | ||
:global TOKENAQUI "TOKEN_GERADO_NO_SGP" | :global TOKENAQUI "TOKEN_GERADO_NO_SGP" | ||
- | :global LINKDOSGP "URL_DO_SGP" | + | :global LINKDOSGP "URL_DO_SGP:8000" |
- | :global IP "IP_DA_URL" | + | :global IPVPN "IP_QUE_CONECTA_VPN" |
+ | :global IPBLQAVS "IP_AVISO_BLQOUEIO" | ||
:global AVS "6402" | :global AVS "6402" | ||
:global BLQ "6403" | :global BLQ "6403" | ||
+ | |||
/ip firewall address-list | /ip firewall address-list | ||
- | add address=$IP list=SITES-LIBERADOS | + | add address=$IPVPN list=SITES-LIBERADOS |
+ | add address=$IPBLQAVS list=SITES-LIBERADOS | ||
add address=208.67.222.222 list=SITES-LIBERADOS | add address=208.67.222.222 list=SITES-LIBERADOS | ||
add address=208.67.222.220 list=SITES-LIBERADOS | add address=208.67.222.220 list=SITES-LIBERADOS | ||
Linha 32: | Linha 40: | ||
add address=8.8.4.4 list=SITES-LIBERADOS | add address=8.8.4.4 list=SITES-LIBERADOS | ||
add address=1.1.1.1 list=SITES-LIBERADOS | add address=1.1.1.1 list=SITES-LIBERADOS | ||
- | add address=45.227.76.22 list=SITES-LIBERADOS | + | add address=10.24.0.0/20 list=BLOQUEADOS |
- | add address=45.227.79.1 list=SITES-LIBERADOS | + | # Aviso bloqueio |
- | add address=10.24.0.0/22 list=BLOQUEADOS | + | |
/ip firewall filter | /ip firewall filter | ||
- | add action=drop chain=forward dst-address-list=!SITES-LIBERADOS src-address-list=BLOQUEADOS comment="SGP REGRAS" | + | add action=drop chain=forward dst-address-list=!SITES-LIBERADOS src-address-list=BLOQUEADOS comment="SGP REGRA" |
/ip firewall filter | /ip firewall filter | ||
add chain=forward connection-mark=BLOQUEIO-AVISAR action=add-src-to-address-list \ | add chain=forward connection-mark=BLOQUEIO-AVISAR action=add-src-to-address-list \ | ||
- | address-list=BLOQUEIO-AVISADOS address-list-timeout=2h comment="SGP REGRAS" dst-address=$IP dst-port=$AVS protocol=tcp | + | address-list=BLOQUEIO-AVISADOS address-list-timeout=00:01:00 comment="SGP REGRAS" dst-address=$IPBLQAVS dst-port=$AVS \ |
+ | protocol=tcp | ||
/ip firewall nat | /ip firewall nat | ||
- | add action=accept chain=srcnat comment="NAO FAZER NAT PARA O IP DO RADIUS" \ | + | add action=accept chain=srcnat comment="NAO FAZER NAT PARA O DO RADIUS" \ |
- | dst-address=$RADIUS dst-port="$AUC-$ACC,3799" protocol=udp | + | dst-address=$RADIUS dst-port="$AUC-$ACC,3799" protocol=udp |
add action=masquerade chain=srcnat comment="SGP REGRAS" src-address-list=\ | add action=masquerade chain=srcnat comment="SGP REGRAS" src-address-list=\ | ||
- | BLOQUEADOS | + | BLOQUEADOS |
add action=dst-nat chain=dstnat comment="SGP REGRAS" dst-address-list=\ | add action=dst-nat chain=dstnat comment="SGP REGRAS" dst-address-list=\ | ||
!SITES-LIBERADOS dst-port=80,443 log-prefix="" protocol=tcp \ | !SITES-LIBERADOS dst-port=80,443 log-prefix="" protocol=tcp \ | ||
- | src-address-list=BLOQUEADOS to-addresses=$IP to-ports=$BLQ | + | src-address-list=BLOQUEADOS to-addresses=$IPBLQAVS to-ports=$BLQ |
add action=dst-nat chain=dstnat comment="SGP REGRAS" connection-mark=\ | add action=dst-nat chain=dstnat comment="SGP REGRAS" connection-mark=\ | ||
- | BLOQUEIO-AVISAR log-prefix="" protocol=tcp to-addresses=$IP to-ports=$AVS | + | BLOQUEIO-AVISAR log-prefix="" protocol=tcp to-addresses=$IPBLQAVS to-ports=$AVS |
# Aviso bloqueio | # Aviso bloqueio | ||
/ip firewall mangle | /ip firewall mangle | ||
- | add chain=prerouting connection-state=new src-address-list=BLOQUEIO-AVISAR protocol=tcp dst-port=80 \ | + | add chain=prerouting connection-state=new src-address-list=BLOQUEIO-AVISAR protocol=tcp dst-port=80,443 \ |
- | action=mark-connection new-connection-mark=BLOQUEIO-VERIFICAR passthrough=yes comment="SGP REGRAS" | + | action=mark-connection new-connection-mark=BLOQUEIO-VERIFICAR passthrough=yes comment="SGP REGRAS" |
add chain=prerouting connection-mark=BLOQUEIO-VERIFICAR src-address-list=!BLOQUEIO-AVISADOS \ | add chain=prerouting connection-mark=BLOQUEIO-VERIFICAR src-address-list=!BLOQUEIO-AVISADOS \ | ||
- | action=mark-connection new-connection-mark=BLOQUEIO-AVISAR comment="SGP REGRAS" | + | action=mark-connection new-connection-mark=BLOQUEIO-AVISAR comment="SGP REGRAS" |
/system scheduler | /system scheduler | ||
add interval=1h name=sgp-aviso on-event=sgp-aviso policy=\ | add interval=1h name=sgp-aviso on-event=sgp-aviso policy=\ | ||
Linha 67: | Linha 75: | ||
\n/tool fetch url=\"$LINKDOSGP/ws/mikrotik/aviso/pendencia/\?token=$TOKENAQUI&app=mikrotik\" dst-path=sgp_aviso.rsc;\r\ | \n/tool fetch url=\"$LINKDOSGP/ws/mikrotik/aviso/pendencia/\?token=$TOKENAQUI&app=mikrotik\" dst-path=sgp_aviso.rsc;\r\ | ||
\n:delay 30s\r\ | \n:delay 30s\r\ | ||
- | \nimport file-name=sgp_aviso.rsc;" | + | \nimport file-name=sgp_aviso.rsc;\r\ |
- | /ip accounting set account-local-traffic=yes enabled=yes | + | \n:delay 10s\r\ |
+ | \n/ip firewall address-list set timeout=00:30:00 [/ip firewall address-list find list=BLOQUEIO-AVISAR]" | ||
/system ntp client set enabled=yes primary-ntp=200.160.0.8 | /system ntp client set enabled=yes primary-ntp=200.160.0.8 | ||
/system clock set time-zone-name=America/Recife | /system clock set time-zone-name=America/Recife | ||
Linha 74: | Linha 84: | ||
/ip service | /ip service | ||
set api disabled=no port=3540 | set api disabled=no port=3540 | ||
- | set www disabled=no port=8008 | ||
/user aaa set use-radius=yes | /user aaa set use-radius=yes | ||
/ppp aaa set interim-update=5m use-radius=yes | /ppp aaa set interim-update=5m use-radius=yes | ||
- | /interface pppoe-server server set authentication=pap [ find where .id!=999] | ||
- | /interface pppoe-server server set one-session-per-host=no [find .id!=999] | ||
/tool graphing set page-refresh=300 store-every=5min | /tool graphing set page-refresh=300 store-every=5min | ||
- | /tool graphing interface add allow-address=0.0.0.0/0 disabled=no interface=all store-on-disk=yes | + | /tool graphing interface add allow-address=$RADIUS disabled=no interface=all store-on-disk=yes |
- | /tool graphing queue add allow-address=0.0.0.0/0 allow-target=yes disabled=no simple-queue=all store-on-disk=yes | + | /tool graphing queue add allow-address=$RADIUS allow-target=yes disabled=no simple-queue=all store-on-disk=yes |
- | /tool graphing resource add allow-address=0.0.0.0/0 disabled=no store-on-disk=yes | + | /tool graphing resource add allow-address=$RADIUS disabled=no store-on-disk=yes |
/snmp community add addresses=$RADIUS name=SGP-GRAPHICs | /snmp community add addresses=$RADIUS name=SGP-GRAPHICs | ||
/snmp set enabled=yes trap-community=SGP-GRAPHICs trap-version=2 | /snmp set enabled=yes trap-community=SGP-GRAPHICs trap-version=2 | ||
- | /system logging set 0 action=memory disabled=no prefix="" topics=info,!account | ||
/radius | /radius | ||
add comment="RADIUS SGP" secret=sgp@radius service=ppp,dhcp,login address=$RADIUS accounting-port=$ACC authentication-port=$AUC \ | add comment="RADIUS SGP" secret=sgp@radius service=ppp,dhcp,login address=$RADIUS accounting-port=$ACC authentication-port=$AUC \ | ||
Linha 91: | Linha 97: | ||
/user add name=SGP comment="USUARIO QUE O SERVIDOR SGP ACESSA A RB" group=full password=$PASSVPNUSER | /user add name=SGP comment="USUARIO QUE O SERVIDOR SGP ACESSA A RB" group=full password=$PASSVPNUSER | ||
- | /interface sstp-client add connect-to=($IP.":4433") user=$USERVPN password=$PASSVPNUSER name="SGP-SSTP"\ | + | /interface ovpn-client |
- | disabled=no profile=default-encryption | + | add connect-to=$IPVPN user=$USERVPN password=$PASSVPNUSER profile=default-encryption name="VPN-SGP"\ |
+ | disabled=no | ||
Linha 99: | Linha 106: | ||
Feito isso, acesse o menu **Administração >> Cadastros >> Radius(NAS)**, clique nem **Cadastrar NAS** no canto superior direito da página e preencha o formulário de acordo com as configurações do MikroTik. | Feito isso, acesse o menu **Administração >> Cadastros >> Radius(NAS)**, clique nem **Cadastrar NAS** no canto superior direito da página e preencha o formulário de acordo com as configurações do MikroTik. | ||
- | {{ :captura_de_tela_de_2018-12-28_13-39-29.png |}} | + | {{ :cadastronas.png?600 |}} |
{{ :captura_de_tela_de_2018-12-28_14-03-57.png |}} | {{ :captura_de_tela_de_2018-12-28_14-03-57.png |}} | ||
- | Para verificar a se a conexão ocorreu como esperado, click em **Opções** na NAS cadastrada e escolha a opção **Verificar Sessões**. | ||
- | {{ :captura_de_tela_de_2018-12-28_14-16-58.png |}} | ||
- | Se tudo deu certo, a seguinte página irá ser exibida. Caso contrário, verifique os passos novamente e contate a central de atendimentos. | + | <html> |
+ | |||
+ | <head> | ||
+ | <meta charset="UTF-8" /> | ||
+ | <meta name="viewport" content="width=device-width, user-scalable=0" /> | ||
+ | |||
+ | <style type="text/css"> | ||
+ | |||
+ | p { | ||
+ | text-align: center; | ||
+ | } | ||
+ | |||
+ | |||
+ | img{ | ||
+ | display: block; | ||
+ | margin: 0px auto; | ||
+ | -webkit-box-shadow: 9px 7px 5px rgba(50, 50, 50, 0.5); | ||
+ | --moz-box-shadow: 9px 7px 5px rgba(50, 50, 50, 0.5); | ||
+ | -box-shadow: 9px 7px 5px rgba(50, 50, 50, 0.5); | ||
+ | } | ||
+ | |||
+ | </style> | ||
+ | |||
+ | </head> | ||
+ | |||
+ | |||
+ | <body> | ||
+ | |||
+ | <p>Para verificar se a conexão ocorreu como esperado, click no <b> ícone da engrenagem</b> localizada ao lado do IP do NAS. </p> | ||
+ | |||
+ | <img id="shadow-box" src="http://wiki.sgp.net.br/lib/exe/fetch.php?media=nas:verificar_sessoes_1.png" alt="verificar sessoes 1"> | ||
+ | <br><br> | ||
+ | |||
+ | <p>Caso a comunicação via API do SGP ao NAS esteja correta, irá ser exibida a seguinte mensagem da imagem abaixo em uma nova aba do navegador. Caso contrário, verifique os passos novamente e contate a central de atendimentos.</p> | ||
+ | <br> | ||
+ | |||
+ | <img id="shadow-box" src="http://wiki.sgp.net.br/lib/exe/fetch.php?media=nas:nas_ok_.png" alt="NAS OK"> | ||
+ | |||
+ | |||
+ | </body> | ||
+ | </html> | ||