Subversion (SVN) on CentOS Autenticando no LDAP

Instalando SVN(subversion) no Centos com ldap

    Pre-Requisitos:

  1. - apache2 instalado e funcionando

  2. - Servidor ldap

Instalação:

  1. - Instalar o subversion:

    #yum install mod_dav_svn subversion

  2. - Criar pasta de repositorios:

    #mkdir /var/svn

  3. - configurar apache:

    #vim /etc/httpd/conf.d/subversion.conf

    Editar para que fique da seguinte forma:

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

  # Enable Subversion
    DAV svn

  # Directory containing all repository for this path
    SVNPath                       /var/svn/repos
    SVNAutoversioning                   on

  # LDAP Authentication & Authorization is final; do not check other databases
    AuthBasicProvider                   ldap
    AuthzLDAPAuthoritative              off

  # Do basic password authentication in the clear
    AuthType                            Basic

  # The name of the protected area or "realm"
    AuthName                            "Subversion Repository"

  # The LDAP query URL
    AuthLDAPURL                         "ldap://:389/dc=example,dc=co.za

  # Require authentication for this Location
    Require valid-user


    4 – Criar repositorio:

    #cd /var/svn

    #svnadmin create repos

    #service httpd restart

    5 – Setar permissões na pasta:

    #chown -R apache:apache /opt/svn

    6 – Tudo pronto, agora acesse pelo browser ou svn client :

    #http://192.168.50.171/repos

Instalar OpenLdap no CentOS

Instalação e configuração OpenLdap on CentOS 5

  1. Instalação dos pacotes:

    #yum install openldap openldap-servers openldap-devel compat-openldap php-ldap openldap-clients

  2. Gerar Hash da senha para que não fique em clear text no arquivo de configuração:

    #slappasswd -s sua_senha

    Resultado: {SSHA}cstId8RjQKllsfdVDoStH0lxkQQ63ooYa

  3. Editar o arquivo de configuração através do comando:

    #vim /etc/openldap/slapd.conf

    Para que fique da seguinte maneira:

include /etc/openldap/schema/core.schema

include /etc/openldap/schema/cosine.schema

include /etc/openldap/schema/inetorgperson.schema

include /etc/openldap/schema/nis.schema

allow bind_v2

pidfile /var/run/openldap/slapd.pid

argsfile /var/run/openldap/slapd.args

database bdb

suffix “dc=ctic,dc=cesupa”

rootdn “cn=Manager,dc=ctic,dc=cesupa”

rootpw {SSHA}cstId8RjQKllsfdVDoStH0lxkQQ63ooYa

##Colocar a senha gerada anteriormente.

directory /var/lib/ldap

index objectClass eq,pres

index ou,cn,mail,surname,givenname eq,pres,sub

index uidNumber,gidNumber,loginShell eq,pres

index uid,memberUid eq,pres,sub

index nisMapName,nisMapEntry eq,pres,sub

  1. OpenLdap Configurado, agora iremos iniciar o serviço:

    #service ldap start

  2. Para testar o funcionamento do Oldap, execute o seguinte comando, se a resposta não for: “ldap_bind: Can’t contact LDAP server (-1) ” o serviço estará executando.

    #ldapsearch -x

  3. criando a base. Crie um arquivo de nome topo.ldif e insira o seguinte conteudo:

    dn: dc=ctic,dc=cesupa

    objectclass: dcObject

    objectclass: organization

    o: Ctic Openldap

    dc: ctic

    dn: cn=Manager,dc=ctic,dc=cesupa

    objectclass: organizationalRole

    cn: Manager

  4. A partir deste momento, eu recomendo a utilização de um software de administração de Ldap para criar as OU’s e usuários.

    Utilizei o software LdapAdmin, disponivel em:http://ldapadmin.sourceforge.net/



    Espero ter ajudado, Abraços!!!

DNS Externo, Master e Slave com reverso no Debian

Especificações

*Servidor DNS MASTER:

nome: ns1

fqdn: ns1.meudominio.com

ip válido: 221.164.109

*Servidor DNS SLAVE:

nome: ns2

fqdn: ns2.meudominio.com

ip válido: 221.164.180.108

Obs.: Os ips acima mencionados, são meros exemplos!

1-instalar o debian básico

2 – adicionar “deb http://ftp.debian.org/debian/ lenny main contrib” ao source.list

3 –comando para serem executados tanto no master como no slave:

apt-get update

apt-get install ssh

apt-get install tcpdumb (debug)

apt-get upgrade

4 – atualizar o sistema:

apt-get update

apt-get dist-upgrade

5 – instalar o bind

apt-get install bind9

6 – configurar os forwarders, no meu caso, da locaweb:

editar o arquivo /etc/bind/named.conf.options, descomente as linhas forwarders e insira os seguintes ips(locaweb, use o seu!)

ns1.locaweb.com.br = 189.126.108.2

ns2.locaweb.com.br = 201.76.40.2

sendo assim seus forwarders ficarão assim:

forwarders {

189.126.108.2;

201.76.40.2;

};

7 – configurar o resolv.conf

edite o arquivo /etc/resolv.conf

para que fique da seguinte forma:

search meudominio.com

nameserver 127.0.0.1

após este procedimento restarte o bind:

/etc/init.d/bind9 restart

8 – configurando o Servidor MASTER meudominio.com

Comentários:

Na zona direta “meudominio.com”, na opção allow-transfer, você deve substituir 221.164.180.108 pelo ip válido do seu Servidor DNS SLAVE

Na zona reversa “180.164.221.in-addr.arpa” você deve inserir os 3 primeiros octetos de sua subrede disponibilizada pelo provedor, ou seja ips válidos. Se sua rede é 222.223.224.104/29, você deve substituir o valor “180.164.221.in-addr.arpa” por “224.223.222.in-addr.arpa”, note que são somente os 3 primeiros octetos em ordem reversa.

Faça o mesmo com o nome do arquivo.

edite o arquivo /etc/bind/named.conf.local e insira as seguintes zonas:

zone “meudominio.com” IN{

type master;

file “/etc/bind/db.meudominio.com”;

allow-transfer { 221.164.180.108; };

};

zone “180.164.221.in-addr.arpa”{

type master;

file “/etc/bind/db.180.164.221″;

allow-transfer { 221.164.180.108; };

};

Criaremos os arquivos db especificados no arquivo anteriormente editado:

Comentários:

É fácil encontrar documentação na internet sobre como configurar o BIND, mas raramente é disponibilizado mais informações sobre os parametros utilizados nos arquivos de zonas, abaixo vou dar uma explicação resumida dos parametros utilizados:

@ IN SOA ns1.meudominio.com. suporte.meudominio.com.

O @ no inicio da primeira linha indica a origem do dominio e ao mesmo tempo, o inicio das configurações.

O IN é abreviação de internet e o SOA de “start of autority”.

Em seguida vem o nome do servidor seguido do e-mail de contato do administrador. Note que no caso do e-mail temos a conta separada do dominio por um ponto (.)e não pelo @, o mais comum é utilizar hostmaster, mas você pode colocar o e-mail que quiser.

Note também que existe um ponto depois de ns1.meudominio.com, e suporte.meudominio.com. O ponto se refere ao dominio raiz de responsabilidade dos root servers. No exemplo nosso servidor (ns1) é responsável pelo dominio (meudominio), que faz parte do dominio (.com), que por sua vez faz parte do dominio raiz (.).

Esta linha que acabei de resumir, diz algo como “Na internet o servidor “ns1” responde pelo dominio “meudominio.com” e o e-mail do responsável pelo dominio é suporte.meudominio.com”.

A primeira linha termina com um parêntese, que significa o inicio das configurações daquele dominio, temos então:

2010051312 3H 15M 1W 1D )

2010051312 é valor de sincronismo, que permite que o servidor secundário mantenha-se sincronizado com o principal. Este número é composto da data da última alteração (como em: 20100513), e um número de dois dígitos qualquer que você escolhe. Sempre que editar a configuração, ou sempre que configurar um servidor DNS a partir de um template qualquer, lembre-se de atualizar a data e mudar os dois dígitos.

Os quatro campos seguintes orientam o servidor DNS secundário. O primeiro campo indica o tempo que o servidor aguarda entre as atualizações (3 horas). Caso ele perceba que o servidor principal está fora do ar, ele tenta fazer uma transferência de zona, ou seja, tenta assumir a responsabilidade sob o domínio. Caso a transferência falhe e o servidor principal continue fora do ar, ele aguarda o tempo especificado no segundo campo (15 minutos ) e tenta novamente.

O terceiro campo indica o tempo máximo que ele pode responder pelo domínio, antes que as informações expirem (1 semana, tempo mais do que suficiente para você arrumar o servidor principal ) e o tempo mínimo antes de devolver o domínio para o servidor principal quando ele retornar (1 dia).

Muita gente prefere especificar estes valores em segundos. Uma configuração muito comum é separar os valores por linha, incluindo comentários, como em:

2010051312; serial

28800; refresh, seconds

7200; retry, seconds

604800; expire, seconds

86400 ); minimum, seconds

O resultado é exatamente o mesmo. A única diferença é que você vai acabar digitando várias linhas a mais.

#vim /etc/bind/db.meudominio.com

com o seguinte conteúdo:

$TTL 604800

@ IN SOA ns1.meudominio.com. suporte.meudominio.com. (

2010051312 3H 15M 1W 1D )

@ IN NS ns1

@ IN NS ns2

meudominio.com IN MX 10 ns1

meudominio.com IN A 221.164.180.109

www IN A 221.164.180.107

ns1 IN A 221.164.180.109

ns2 IN A 221.164.180.108

Agora o reverso:

vim /etc/bind/db.180.164.221

Com o seguinte conteúdo:

$TTL 1d ;

$ORIGIN 180.164.221.IN-ADDR.ARPA.

@ IN SOA ns1.meudominio.com. suporte.meudominio.com. (

2010051312 3H 15M 1W 1D )

IN NS ns1.meudominio.com.

IN NS ns2.meudominio.com.

109 IN PTR ns1.meudominio.com.

108 IN PTR ns2.meudominio.com.

Restarte o bind:

/etc/init.d/bind9 restart

Com isso o seu dns já deve estar funcionando, agora vamos instalar o slave:

Para ambos os servidores, Slave e Master, você deve adicionar a seguinte linha no arquivo /etc/bind/named.conf.options

dnssec-enable yes;

Agora precisamos setar uma chave segura para que os dois se comuniquem, este comando irá gerar um arquivo .private e um .key. A opção “key=” no .private representa o hashkey, execute o seguinte comando:

dnssec-keygen -r /dev/urandom -a hmac-md5 -b 128 -n host meudominio.com

agora edite o arquivo /etc/bind/named.conf, em ambos os servidores e insira o seguinte trecho, substituindo o “secret” pelo que foi gerado no .private.

key “TRANSFER” {

algorithm hmac-md5;

secret “jxTZsKVn0p0irY6Q3f8E4A==”;

};

No DNS master você deve inserir o ip do slave no mesmo arquivo, /etc/bind/named.conf, segue o trecho:

server 221.164.180.108 {

keys {

TRANSFER;

};

};

No DNS slave você deve inserir o ip do master no mesmo arquivo, /etc/bind/named.conf, segue o trecho:

server 221.164.180.109 {

keys {

TRANSFER;

};

};

No DNS slave edite sua zona para que fique parecido com isso:

vim /etc/bind/named.conf.local

zone “meudominio.com” {

type slave;

file “/etc/bind/db.meudominio.com”;

masters { 221.164.180.109; };

allow-notify { 221.164.180.109; };

};

Obs.:

Com a configuração acima, tive problemas com a replicação de zonas, pois o diretorio /etc/bind não permite escrita para o usuario do bind, portando para não liberar permissões neste diretório, o que seria uma brecha de segurança, mudei o diretorio para /var/cache/bind, no qual é o padrão para dns’s Slave,

zone “meudominio.com” {

type slave;

file “/var/cache/bind/db.meudominio.com”;

masters { 221.164.180.109; };

allow-notify { 221.164.180.109; };

};

o ultimo passo necessário é para ser feito nos dois servidores, edite o /etc/bind/named.conf e insira a seguinte linha:

include “/etc/bind/rndc.key”

Para ter uma transferencia bem sucedida entre zonas instale o ntpdate:

apt-get install ntpdate

Obs, ate o momento não houve tranferencia de dns para o slave, aguardarei 1dia pois é o tempo estimado

Bibliografia:

http://www.howtoforge.com/debian_bind9_master_slave_system

http://linux.justinhartman.com/DNS_Installation_and_Setup_using_BIND9

http://www.guiadohardware.net/tutoriais/instalando-servidor-dns/

http://www.vivaolinux.com.br/artigo/Configurando-DNS-%28bind9%29-no-Debian-Sarge/?pagina=2

http://www.vivaolinux.com.br/artigo/Configurando-o-bind-9-no-Debian?pagina=2

Cups + Jasmine + Active Directory

Cups + jasmine + ActiveDirectory

#apt-get update

#apt-get upgrade

#apt-get dist-upgrade

Instalando o Kerberos

Instale o Kerberos com o seguinte comando:

#aptitude install -y ldap-utils libldap2 krb5-user
Obs.: libldap2 não encontrads, utilizada: libldap-2.4-2 

O instalador fará alguns questionamentos. O primeiro é qual o nome do seu controlador de domínio. Responda com letras maiúsculas.

Ex.: SERVIDOR1 SERVIDOR2

Depois você será questionado sobre qual o controlador de domínio primário da sua rede. Responda também com letras maiúsculas.

Ex.: SERVIDOR1

Feito isso terminamos a configuração do Kerberos.

Instalação e configuração do Samba

Agora iremos instalar o Samba com winbind para que possamos ingressar a máquina no domínio. Rode o comando abaixo:

apt-get install -y samba samba-common winbind

Mais uma vez o instalador lhe fará perguntas. A primeira é qual o nome do domínio. Responda em letras maiúsculas.

Ex.: DOMINIO

Depois disso você será perguntado se quer modificar smb.conf para usar configurações WINS fornecidas via DHCP. Responda Não.

Faça uma cópia do arquivo smb.conf e edite-o para ficar conforme abaixo:

[global]
workgroup = DOMINIO
server string = SERVIDOR
netbios name = SERVIDOR
realm = DOMINIO.COM.BR
dns proxy = no
ldap ssl = no
log file = /var/log/samba/%m.log
max log size = 500
debug level = 1
security = ads
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
username map = /etc/samba/smbusers
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
unix charset = iso-8859-1
password server = IP_DO_SERVIDOR_DE_DOMINIO
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /dev/null
template shell = /dev/null
winbind use default domain = yes
passdb backend = smbpasswd
preferred master = no
wins support = yes
os level = 254
printing = cups
load printers = yes

[printers]
comment = Todas as Impressoras
path = /var/spool/samba
printable = Yes
printing = cups
public = yes
writable = yes
load printers = yes
print ok = yes
guest ok = yes
browseable = yes

Feito isso reinicie o Samba e o Winbind para que as modificações entrem em vigor.

/etc/init.d/samba restart && /etc/init.d/winbind restart

Agora já podemos ingressar a máquina no domínio Active Directory. Para isso execute:

net ads join -U administrator

Onde administrator é o administrador do domínio. Coloque a senha e pronto! Já temos a máquina como membro do domínio Active Directory.

Edite também o arquivo nsswitch.conf para que fique da seguinte forma:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc Name Service Switch' for information about this file.

passwd:         compat winbind
group:          compat winbind
shadow:         compat winbind

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Instalando o Jasmine

Depois de ingressar a máquina no domínio iremos começar a instalação e configuração do jasmine propriamente dita. Vamos começar instalando os pré-requisitos:

apt-get install -y mysql-server-5.0 apache2 php5 php5-mysql python-imaging python-psyco cups libdbd-mysql-perl

Cadastre uma senha para o usuário root do mysql e em seguida configure o bando de dados do Jasmine conforme abaixo:

mysql -uroot -psenha
CREATE DATABASE jasmine;
GRANT ALL ON jasmine.* TO jasmine@127.0.0.1 IDENTIFIED BY 'jasmine';

Baixando e instalando os pacotes do Jasmine

Vamos baixar os pacotes do Jasmine e colocá-los em um diretório chamado /dados:

mkdir /dados && cd /dados
wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-MySQL-0.0.3.tar.bz2
wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-Backend-0.0.3.tar.bz2
wget http://nayco3.free.fr/Jasmine/Releases/0.0.3/JASmine-Web-0.0.3.tar.bz2

tar xvjf JASmine-Backend-0.0.3.tar.bz2
tar xvjf JASmine-Web-0.0.3.tar.bz2
tar xvjf JASmine-MySQL-0.0.3.tar.bz2
cd JASmine-MySQL-0.0.3

Agora iremos rodar o script .sql no banco do jasmine criado anteriormente:

mysql -uroot -psenha jasmine < jasmine.sql

Instalação do Backend

cd ..
cd JASmine-Backend-0.0.3
tar zxvf pkpgcounter-2.10.tar.gz
cd pkpgcounter-2.10
./setup.py install
cd ..
cp jasmine /usr/lib/cups/backend
chmod 755 /usr/lib/cups/backend/jasmine
cp dummy /usr/lib/cups/backend
chmod 755 /usr/lib/cups/backend/dummy

Modifique as linhas do arquivo /usr/lib/cups/backend/jasmine da seguinte forma:

my $DBhost="localhost";
my $DBlogin="jasmine";
my $DBpassword="senha_do_usuario_jasmine";
my $DBdatabase="jasmine";

my $Want_Sys_Syslog=1;
my $Debug_Mode=0;

my $path_to_pkpgcounter="/usr/bin/pkpgcounter";
my $path_to_python="/usr/bin/python";

Editando o cupsd.conf

Deixe-o da seguinte forma:

LogLevel warning
SystemGroup lpadmin

# Allow remote access
Port 631
Listen /var/run/cups/cups.sock

# Share local printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAddress @LOCAL
DefaultAuthType Basic
<Location />
Allow From 127.0.0.1
Allow From 192.168.*

# Allow shared printing and remote administration...
Order allow,deny
Allow @LOCAL
</Location>
<Location /admin>
Allow From 127.0.0.1
Allow From 192.168.*

# Allow remote administration...
Order allow,deny
Allow @LOCAL
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM

# Allow remote access to the configuration files...
Order allow,deny
Allow @LOCAL
</Location>
<Policy default>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
DefaultEncryption Never

Instalando a parte web do jasmine

mkdir /var/www/jasmine
cp -R /dados/JASmine-Web-0.0.3/* /var/www/jasmine
cp /var/www/jasmine/config.php.dist /var/www/jasmine/config.php
/etc/init.d/apache2 restart

Edite as seguintes linhas do arquivo conf.php:

$DB_host="localhost";
$DB_login="jasmine";
$DB_pass="senha_do_usuario_jasmine";
$DB_db="jasmine"

Pronto. Com isso já teremos o jasmine emitindo relatórios por nome de usuário.

Instalando as Impressoras no CUPS

Para que se possa imprimir e ser contabilizado no Jasmine você precisa instalar a impressora escolhendo a opção Really Virtual Printer for Testing Cups e colocar jasmine antes da URL. Veja o Exemplo abaixo:

jasmine:socket://ip_da_impressora:9100

Dessa forma o backend do Jasmine será executado e as impressões serão contabilizadas.

Instalando as Impressoras nos Clientes

Essa solução foi testada tanto em estações Windows quanto em Linux. Em ambas as impressões saíram com o nome dos usuários. Basta que nas duas situações as máquinas estejam ingressadas no domínio.

Para instalar as impressoras nos clientes escolha a opção Impressora de rede e coloque o seguinte endereço:

http://ip_do_servidor_jasmine:631/printers/nome_da_impressora

Load Balance Mikrotik, usando PCC com links adsl

Olá;
Um dos leitores do blog teve a necessidade de balancear os seus links adsl, e o tutorial postado anteriormente não solucionou seu problema, Visto que a conexão do pppoe é estabelecida pelo mikrotik, o mesmo identifica o trafego de saida realmente como um OUTPUT e não como um FORWARD, o que normalmente acontece para links dedicados.

Caso seu modem adsl não esteja em modo bridge, estas alterações provavelmente não serão necessárias.

Vou somente postar as regras do mangle, para quem não sabe o que é o PCC, recomendo a dar uma lida neste topico que explica o seu funcionamento:
http://blog.lcmm.info/?p=71

As alterações que devem ser feitas para o PCC funcionar com o adsl, são as seguintes:
Entenda 192.168.0.0/16 como sua LAN;

/ip firewall mangle
add action=accept chain=prerouting comment=”remove balanceamento das redes conectadas /16 para agregar rede 192.168.1.0 e 192.168.0.0!” disabled=no dst-address=192.168.0.0/16 in-interface=ether5-local

add action=mark-connection chain=input comment=”Inicio Conf PCC, marca conex\F5es entrantes!” disabled=no in-interface=pppoe-out1 new-connection-mark=ppoe1 passthrough=yes

add action=mark-connection chain=input comment=”" disabled=no in-interface=pppoe-out2 new-connection-mark=ppoe2 passthrough=yes

add action=mark-connection chain=input comment=”" disabled=no in-interface=pppoe-out3 new-connection-mark=ppoe3 passthrough=yes

add action=accept chain=output comment=”Sem Load Balance” disabled=no dst-address-list=nobalance

add action=mark-routing chain=output comment=”" connection-mark=ppoe1 disabled=no new-routing-mark=para-ppoe1 passthrough=yes

add action=mark-routing chain=output comment=”" connection-mark=ppoe2 disabled=no new-routing-mark=para-ppoe2 passthrough=yes

add action=mark-routing chain=output comment=”" connection-mark=ppoe3 disabled=no new-routing-mark=para-ppoe3 passthrough=yes

add action=mark-connection chain=prerouting comment=”PCC em si, colocando um peso igual para todos os ppoe” disabled=no dst-address=!192.168.0.0/16 dst-address-type=!local new-connection-mark=ppoe1 passthrough=yes per-connection-classifier=both-addresses:3/0 src-address=192.168.0.0/16

add action=mark-connection chain=prerouting comment=”" disabled=no dst-address=!192.168.0.0/16 dst-address-type=!local new-connection-mark=ppoe2 passthrough=yes per-connection-classifier=both-addresses:3/1 src-address=192.168.0.0/16

add action=mark-connection chain=prerouting comment=”" disabled=no dst-address=!192.168.0.0/16 dst-address-type=!local new-connection-mark=ppoe3 passthrough=yes per-connection-classifier=both-addresses:3/2 src-address=192.168.0.0/16

add action=mark-routing chain=prerouting comment=”Aponta as conex\F5es do Load Balance para as suas respectivas tabelas de roteamento” connection-mark=ppoe1 disabled=no dst-address=!192.168.0.0/16 new-routing-mark=para-ppoe1 passthrough=yes src-address=192.168.0.0/16

add action=mark-routing chain=prerouting comment=”" connection-mark=ppoe2 disabled=no dst-address=!192.168.0.0/16 new-routing-mark=para-ppoe2 passthrough=yes src-address=192.168.0.0/16

add action=mark-routing chain=prerouting comment=”" connection-mark=ppoe3 disabled=no dst-address=!192.168.0.0/16 new-routing-mark=para-ppoe3 passthrough=yes src-address=192.168.0.0/16

Espero ter ajudado, até a próxima!!!