"Cogito ergo sum"
RSS icon Email icon Home icon
  • Liberar acesso por MAC e IPtables.

    Posted on June 8th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Como pretendo fazer um Captive Portal em meu servidor resolvi instalar um Apache para exibir as páginas de autenticação ou seja quando o usuário não estiver autenticado ele ficará vendo está página em toda sua requisição WEB. O problema é que quando acessavamos algum endereço de IP a página era exibida mas ao se utilizar endereços isto não acontecia pois ele não conseguia acesso até o DNS. Pesquisei um pouco pela internet e vi alguns falando sobre a instalação de um servidor DNS no próprio servidor, fiz isso mas não achei muito interessante então pensando sobre regras de iptables me veio a grande idéia de simplesmente redirecionar os acessos a porta 53. As regras que utilizei para Bloquear acesso de MAC não liberados, redirecionar a porta 80 para meu apache, permitir acesso ao DNS foram as seguintes:

    Ainda estou brincando com o servidor e hoje estava querendo liberar acesso exclusivamente para os MAC aqui de casa, garantindo assim que nenhum vizinho vai pegar meu sinal e utilizar. Demorei algum tempo para conseguir regras que funcionassem efetivamente.

    Liberar acesso de tal MAC ADDRESS:

    iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -m mac –mac-source MAC -j ACCEPT

    Redirecionar porta 80 para 8080

    iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -p tcp –dport 80 -j REDIRECT –to-port 8080

    Liberar acesso somente ao servidor DNS:

    iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -p udp –dport 53 -j DNAT –to IP:53

    Bloquear todos os acessos:

    iptables -t nat -A PREROUTING -i INTERFACE_INTERNA -j DROP

    Matheus

    PS: Se as mesmas não estiverem funcionando, não se esqueca de dar uma verificada nas suas regras atuais de iptables pois pode ter algo proibindo ou liberando tudo antes. Então fique atento.

  • Liberando ping no servidor.

    Posted on June 7th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Na publicação anterior comentei sobre a liberação do “ping” (ICMP) de tal local para seu servidor. Caso você utilizesse Iptables e por padrão DROP em todas as “regras”, você poderá liberar pings apenas de determinado ip da seguinte maneira:

    $ sudo iptables -A INPUT -p icmp -s 150.162.60.37 -j ACCEPT

    Lembrando que você deve olhar a ordem das regras, pois isto importa em iptables.

    Matheus Bratfisch

  • Utilizar IPv6 em toda a sua rede.

    Posted on June 6th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Como você deve saber o número de IPS na internet estão acabando, as previsões indicam que eles devem se esgotar até 2011. E como ficaremos? Calma, não se assuste! Já foi inventada a alguns anos a tecnologia que está substituindo os IPv4, são os chamados IPv6. (Que eu publiquei o link pro curso da CGI.BR lembra?). Então, hoje em dia já existem serviços destinados ao IPv6. Para fazer o uso do IPv6 existem alguns métodos e vou demonstrar como fiz na minha rede para conseguir IPv6 para os computadores. Lembrando que a minha rede possui um “Ubuntu Server” para receber e compartilhar a internet.

    Inicialmente crie um cadastro em http://www.tunnelbroker.net. Após o cadastro realizado e confirmado acesse o menu “Create Regular Tunnel” e coloque o IP da sua residencia, o ponto final do tunnel, escolha o servidor mais perto de você e pronto. (Você não deve bloquear pings (ICMP) do servidor, se não ele não permitira que o tunnel seja criado).

    Pressione o link ao lado direito de “Routed /48:”, assim ele lhe dará uma “classe” de ip para você utilizar em sua rede caseira.

    Após feito isso, acesse seu servidor e crie o tunnel para ele da seguinte maneira:

    # IPV6 da sua placa de rede INTERNA
    sudo ifconfig eth1 inet6 add 2001:470:d8dd:1::1/64
    # Levanta interface sit0
    sudo ifconfig sit0 up
    # Cria um tunnel para o IP do seu servidor (Substituia o IP_DO_SERVIDOR pelo valor do “Server IPv4 address”)
    # MANTENHA OS “::”
    sudo ifconfig sit0 inet6 tunnel ::IP_DO_SERVIDOR
    # Levanta interface sit1
    sudo ifconfig sit1 up
    # Adiciona o IPv6 a interface sit1 (Substitua ROUTED pelo valor “Routed /48″)
    sudo ifconfig sit1 inet6 add ROUTED
    # Redireciona os tráfegos IPv6 para sit1
    sudo route -A inet6 add ::/0 dev sit1
    # Habilita IPv6 Forwarding.
    sysctl net.ipv6.conf.all.forwarding=1

    Teste se você está utilizando IPv6 da seguinte maneira:
    $ ping6 ipv6.google.com

    Nas demais máquinas das redes deve ser feito o seguinte:

    $ sudo ifconfig eth1 inet6 add IPv6_DA_SUA_MAQUINA
    $ sudo ip route add ::/0 via IPv6_DO_SERVIDOR

    Caso você não queira configurar manualmente você pode utilizar o RaDVD que é um “router advertisement daemon”.

    Vamos supor que seu Routed/48 é 2001:530:d822::/48 o IP da placa de rede do seu servidor conectada a rede local poderia ser: 2001:530:d822:1::1/64. Então o IP da sua máquina seria 2001:530:d822:1::2/64.

    Agora de sua máquina tente pingar com ping6 o seu servidor e ipv6.google.com. Se obter resposta está tudo certo. (é claro ¬¬’)

    Espero que seja de utilidade a você,
    Matheus

    PS: Caso você deseje utilizar IPv6 somente em uma máquina conectada diretamente na internet cadastre-se no mesmo site, crie seu tunnel e siga as instruções no final da página do tunnel.

  • Instalar e Configurar servidor DHCP.

    Posted on June 6th, 2009 Matheus (X-warrior) Bratfisch No comments

    Boa noite,

    Estou pensando em uma estrutura de rede que seja eficiente para a minha casa e no momento resolvi fazer alguns testes com idéias sugeridas pela galera do irc.freenode.net @ #ipv6.br e do meu laboratório e me funcionaram bem até o momento.

    Retirei o meu Servidor da porta WAN do meu roteador deixando a rede na seguinte estrutura:

    Modem -> (eth0) Ubuntu Server (eth1) -> (LAN PORT) Roteador (LAN PORT) -> Computadores.

    Desabilitei o Servidor DHCP do Roteador e criei o meu na mesma faixa de IPS do Roteador no Ubuntu Server para instalar e configurar o mesmo procedi da seguinte maneira:

    $ sudo apt-get install dhcp3-server

    Após a instalação do mesmo abri o arquivo “/etc/dhcp3/dhcpd.conf” e comentei todas as linhas, após feito isso fiz o seguinte:

    INTERFACES=”eth1″; # INTERFACE CONECATADA AO MEU ROTEADOR
    ddns-update-style none;
    default-lease-time 600;
    max-lease-time 7200;
    authoritative; # DHCP PRINCIPAL DA REDE

    subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100 192.168.0.150; # FAIXA DE IPS A SER DISTRIBUIDA
    option routers 192.168.0.254; # GATEWAY
    option domain-name-servers 200.247.141.11; # SERVIDOR DNS
    option subnet-mask 255.255.255.0; # MASCARA DE SUBREDE
    option broadcast-address 192.168.0.255; # ENDEREÇO DE BROADCAST
    default-lease-time 600;
    max-lease-time 7200;
    }

    Lembrando que a faixa de IPs utilizada normalmente por meu roteador era 192.168.0.x mas eu poderia alterar a mesma porém preferi utilizar a default.

    Após feita as configurações executei o seguinte comando:

    $ sudo /etc/init.d/dhcp3-server restart

    O mesmo reiniciou com alguns problemas porque esqueci alguns “;” mas após corrigido os pequenos erros o DHCP Server iniciou normalmente, testado e funcionando.

    Espero que seja de utilidade a todos,
    Matheus Bratfisch

    PS: Lembrando que com a atual estrutura de redes eu posso utilizar filtros por MAC ADDRESS conseguindo assim implementar meu Captive Portal. *espero que nós proximos dias eu consiga implementa-lo*

    Referencias:
    Google + DHCP SERVER UBUNTU (tantos links que eu tentei que nem sei especificar quais que mais me ajudaram. Agradeço aos que me ajudaram e peço desculpas por não saber referenciar ao certo.)

  • Netbeans 6.5.1, Espaçamento..

    Posted on April 27th, 2009 Matheus (X-warrior) Bratfisch No comments

    Opa,

    Como disse no post anterior instalei o NetBeans agora a pouco. Ao executar o mesmo, criar um novo projeto e arquivo percebo que o espaçamento (line-spacing) do mesmo está muito grande. Para alterar o mesmo você deve fazer o seguinte:

    Editar o arquivo: org-netbeans-modules-editor-settings-CustomPreferences.xml

    $ pico org-netbeans-modules-editor-settings-CustomPreferences.xml

    Este arquivo está encontrado no seguinte diretorio:

    /home//.netbeans/6.5/config/Editors/Preferences

    Caso o arquivo e o diretorio existam simplesmente adicione as seguintes linhas:

    <entry javaType=”java.lang.Float” name=”line-height-correction”
    xml:space=”preserve”>
    <value><![CDATA[0.75]]></value>
    </entry>

    Se o mesmo não exista, provavelmente você terá que criar o diretorio Preferences:

    $ mkdir Preferences
    (se você estiver no /home//.netbeans/6.5/config/Editors)

    $ cd Preferences

    E crie o arquivo:

    $ pico org-netbeans-modules-editor-settings-CustomPreferences.xml

    Adicione o seguinte conteudo:

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <!DOCTYPE editor-preferences PUBLIC “-//NetBeans//DTD Editor Preferences 1.0//EN” “http://www.netbeans.org/dtds/EditorPreferences-1_0.dtd”>
    <editor-preferences>
    <entry javaType=”java.lang.String” name=”code-template-expand-key” xml:space=”preserve”>
    <value><![CDATA[TAB]]></value>
    </entry>
    <entry javaType=”java.lang.Float” name=”line-height-correction” xml:space=”preserve”>
    <value><![CDATA[0.75]]></value>
    </entry>
    </editor-preferences>

    Salve, reinicie o netbeans e pronto.

    Uma otima noite a todos,
    Matheus

    English Version

    Fontes:
    http://my.opera.com/Nobita2708/blog/show.dml/2914020
    http://www.linux4all.net/how_to_change_line_height_in_netbeans_editor
    http://www.cs.wcupa.edu/rkline/netbeans-lin.html
    http://www.google.com.br/search?hl=pt-BR&q=line+spacing+ubuntu+netbeans&btnG=Pesquisar&meta=

    PS: Isso não é simplesmente uma tradução, a idéia basica está postada, mas aqui foram adicionadas algumas informações.