Mudanças entre as edições de "Configurando dois gateways no linux"

De Infraestrutura São Carlos
Ir para navegação Ir para pesquisar
Linha 47: Linha 47:
 
</pre>
 
</pre>
 
</li>
 
</li>
 
<li>Crie o usuário para a replicação:
 
<pre>
 
# su - postgres
 
$ createuser -U postgres repuser -P -c 5 --replication
 
</pre>
 
onde
 
<ul>
 
<li><tt>-U postgres</tt>: utiliza o usuário <em>postgres</em> para criar um novo usuário</li>
 
<li><tt>repuser</tt>: novo usuário para a replicação</li>
 
<li><tt>-P</tt>: permite digitar a senha do novo usuário</li>
 
<li><tt>-c</tt>: limita o número de conexões para o novo usuário</li>
 
<li><tt>--replication</tt>: permite os privilégios de <tt>REPLICATION</tt> ao novo usuário.</li>
 
</ul>
 
</li>
 
 
<li>Crie o diretório para armazenar os logs WAL:
 
<pre>
 
# su - posgres
 
$ mkdir -p /var/lib/postgres/main/mnt/server/archivedir
 
</pre>
 
</li>
 
 
<li>Edite o arquivo <tt>/etc/postgresql/9.4/main/pg_hba.conf</tt> para permitir que o usuário de replicação tenha acesso ao banco de dados:
 
<pre>
 
# vi /etc/postgresql/9.4/main/pg_hba.conf
 
</pre>
 
e acrescente a seguinte linha nas conexões de replicação:
 
<pre>
 
# Allow replication connections
 
host    replication    repuser        <standby-IP>/32        md5
 
</pre>
 
salve e feche o arquivo.
 
</li>
 
 
<li>Edite o arquivo <tt>/etc/postgresql/9.4/main/postgresql.conf</tt> para configurar o servidor master. Não se esqueça de remover os comentários das linhas editadas:
 
<pre>
 
# vi /etc/postgresql/9.4/main/postgresql.conf
 
</pre>
 
Na seção <strong>Connectiong Settings</strong> da seção <strong>CONNECTIONS AND AUTHENTICATION</strong>, digite o IP do servidor mestre ou * para permitir o acesso do servidor <em>standby</em>:
 
<pre>
 
listen_address = '*'
 
</pre>
 
Na seção <strong>Settings</strong> da seção <strong>WRITE AHEAD LOG</strong> altere o modo WAL:
 
<pre>
 
wal_level = hot_standby
 
</pre>
 
Na seção <strong>Archiving</strong>, ative o modo de arquivos de log:
 
<pre>
 
archive_mode = on
 
</pre>
 
e altere o comando de arquivamento dos logs:
 
<pre>
 
archive_command = 'test ! -f /var/lib/postgresql/main/mnt/server/archivedir/%f && cp %p /var/lib/postgresql/main/mnt/server/archivedir/%f'
 
</pre>
 
Na seção <strong>Sending Server(s)</strong> da seção <strong>REPLICATION</strong>, mude o valor para o número máximo de processos de envio de WALs:
 
<pre>
 
max_wal_senders = 3
 
</pre>
 
</ol>
 
 
== Procedimentos ==
 
 
=== Instalação ===
 
<ol style="list-style-type:lower-alpha">
 
 
<li>Em cada servidor instale o PostgreSQL:
 
<pre>
 
# apt-get install postgresql
 
</pre>
 
</li>
 
 
==== Servidor Mestre ====
 
 
<li>Crie uma base de dados:
 
<pre>
 
# su - postgres
 
$ psql
 
postgres=# CREATE DATABASE test;
 
postgres=# CREATE TABLE guestbook (visitor_email text, vistor_id serial, date timestamp, message text);
 
postgres=# INSERT INTO guestbook (visitor_email, date, message) VALUES ('teste@sc.usp.br', current_date, 'Isto eh um teste');
 
postgres=# SELECT * FROM guestbook;
 
postgres=# \q
 
</pre>
 
</li>
 
 
<li>Crie o usuário para a replicação:
 
<pre>
 
# su - postgres
 
$ createuser -U postgres repuser -P -c 5 --replication
 
</pre>
 
onde
 
<ul>
 
<li><tt>-U postgres</tt>: utiliza o usuário <em>postgres</em> para criar um novo usuário</li>
 
<li><tt>repuser</tt>: novo usuário para a replicação</li>
 
<li><tt>-P</tt>: permite digitar a senha do novo usuário</li>
 
<li><tt>-c</tt>: limita o número de conexões para o novo usuário</li>
 
<li><tt>--replication</tt>: permite os privilégios de <tt>REPLICATION</tt> ao novo usuário.</li>
 
</ul>
 
</li>
 
 
<li>Crie o diretório para armazenar os logs WAL:
 
<pre>
 
# su - posgres
 
$ mkdir -p /var/lib/postgres/main/mnt/server/archivedir
 
</pre>
 
</li>
 
 
<li>Edite o arquivo <tt>/etc/postgresql/9.4/main/pg_hba.conf</tt> para permitir que o usuário de replicação tenha acesso ao banco de dados:
 
<pre>
 
# vi /etc/postgresql/9.4/main/pg_hba.conf
 
</pre>
 
e acrescente a seguinte linha nas conexões de replicação:
 
<pre>
 
# Allow replication connections
 
host    replication    repuser        <standby-IP>/32        md5
 
</pre>
 
salve e feche o arquivo.
 
</li>
 
 
<li>Edite o arquivo <tt>/etc/postgresql/9.4/main/postgresql.conf</tt> para configurar o servidor master. Não se esqueça de remover os comentários das linhas editadas:
 
<pre>
 
# vi /etc/postgresql/9.4/main/postgresql.conf
 
</pre>
 
Na seção <strong>Connectiong Settings</strong> da seção <strong>CONNECTIONS AND AUTHENTICATION</strong>, digite o IP do servidor mestre ou * para permitir o acesso do servidor <em>standby</em>:
 
<pre>
 
listen_address = '*'
 
</pre>
 
Na seção <strong>Settings</strong> da seção <strong>WRITE AHEAD LOG</strong> altere o modo WAL:
 
<pre>
 
wal_level = hot_standby
 
</pre>
 
Na seção <strong>Archiving</strong>, ative o modo de arquivos de log:
 
<pre>
 
archive_mode = on
 
</pre>
 
e altere o comando de arquivamento dos logs:
 
<pre>
 
archive_command = 'test ! -f /var/lib/postgresql/main/mnt/server/archivedir/%f && cp %p /var/lib/postgresql/main/mnt/server/archivedir/%f'
 
</pre>
 
Na seção <strong>Sending Server(s)</strong> da seção <strong>REPLICATION</strong>, mude o valor para o número máximo de processos de envio de WALs:
 
<pre>
 
max_wal_senders = 3
 
</pre>
 
</ol>
 

Edição das 15h57min de 4 de julho de 2022

Objetivo

Criacao de regras para funcionamento de dois gateways no Linux

Requisitos

  • Servidores Debian


Procedimentos

Instalação

  1. Configuras as interfaces de rede no arquivo /etc/network/interfaces, sem colocar o gateway de uma das redes:
    allow-hotplug eth0
    iface eth0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.1
    
    # The secondary network interface
    allow-hotplug eth1
    iface eth1 inet static
        address 10.10.0.10
        netmask 255.255.255.0
    
  2. Adicionando segunda tabela de roteamento

  3. Edite o arquivo /etc/iproute2/rt_tables, e vamos criar uma tabela de roteamento rt2, com preferencia 1. O arquivo ficara com a seguinte aparencia:
    #
    # reserved values
    #
    255     local
    254     main
    253     default
    0       unspec
    #
    # local
    #
    #1      inr.ruhep
    1 rt2