-
Liberar acesso por MAC e IPtables.
Posted on June 8th, 2009 No commentsBoa 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 No commentsBoa 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 No commentsBoa 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=1Teste se você está utilizando IPv6 da seguinte maneira:
$ ping6 ipv6.google.comNas 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_SERVIDORCaso 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ê,
MatheusPS: 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 No commentsBoa 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 REDEsubnet 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 BratfischPS: 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 No commentsOpa,
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,
MatheusFontes:
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.








