Configurando um FW/Router com Opensolaris
Com base no blog do Franklin Ronald, resolvi escrever este manualzinho para ajudar o pessoal, boa leitura.
Pré Configurações:
Desabilitando o nwam:
#svcadm disable svc:/network/physical:nwam
Habilitando modo manual:
#svcadm enable svc:/network/physical:default
Configurando o modo manual
Usando Gnome, vá em:
System->Administration->Network
Configure sua interface e reinicie o serviço:
# svcadm restart milestone/network
feito isso , basta dar um reboot e atribuir os seus IPS.
Configurando o Arquivo ipf.conf
###/etc/ipf/ipf.conf###
pass in quick on lo0 all
pass out quick on lo0 all
pass in quick proto tcp from 192.168.10.2/32 to any port = 25 keep state
pass in quick proto tcp from 192.168.10.2/32 to any port = 110 keep state
pass in quick proto tcp from 192.168.10.2/32 to any port = 143 keep state
pass in quick proto tcp from any to any port = 22 keep state
pass in quick proto tcp from any to any port = 80 keep state
pass in quick proto tcp from any to any port = 8080 keep state
pass in quick proto tcp from any to any port = 443 keep state
pass in quick proto icmp from any to any icmp-type 8 keep state
pass in quick proto icmp from any to any icmp-type 13 keep state
pass in quick proto tcp from any to any port = 222 keep state
pass in quick proto tcp from any to any port = 3389 keep state
pass out quick from any to any keep state
# Libera porta FTP-DATA
pass in quick on rge0 proto tcp/udp from any to any port = 20 keep state
# Libera porta do FTP
pass in quick on rge0 proto tcp/udp from any to any port = 21 keep state
# Libera portas passivas do FTP
pass in quick on rge0 proto tcp/udp from any to any port 32768 >< style="font-weight: bold;">Ativando o ipf:
# svcadm refresh ipfilter && ipf -E && ipf -Fa -f /etc/ipf/ipf.conf
Verifique suas regras com:
# ipfstat -nih
Configuração de Redirecionamento de portas -- ipnat
####/etc/ipf/ipnat.conf####
rdr rtls0 0/0 port 3389 -> 192.168.10.204 port 3389
rdr rtls0 0/0 port 53 -> 192.168.10.245 port 53 udp
#email
rdr rtls0 0/0 port 25 -> 192.168.10.2 port 25
rdr rtls0 0/0 port 110 -> 192.168.10.2 port 110
rdr rtls0 0/0 port 143 -> 192.168.10.2 port 143
rdr rtls0 0/0 port 80 -> 192.168.10.2 port 80
map rtls0 192.168.10.0/24 -> 0/32
#### EOF ####
Ativando ipnat:
# ipnat -CF -f /etc/ipf/ipnat.conf
Verifique suas regras com:
# ipnat -l
DICA: Sempre que houver NAT deve-se abrir a porta no firewall (sim,no BSD não precisa) mas no ipf há essa necessidade. Note também a necessidade de dizer que é "tcp" , "udp" ou "tcp/udp" , parece besta mas me quebrei com isso.
É bem gostoso trabalhar com o ipf, ele é durão mas é muito bom, boa sorte...
Manpages:
http://docs.sun.com/app/docs/doc/816-5166/6mbb1kq4r?a=view
http://docs.sun.com/app/docs/doc/816-5175/ipfilter-5?a=view
route
http://slashzeroconf.wordpress.com/2008/03/05/enabling-and-disabling-ip-forwarding-in-solaris-10/
ftp
http://tecnolovers.skhizos.com/?q=taxonomy/term/16
nwan
http://joaocep.blogspot.com/2009/07/opensolaris-desabilitando-nwam-e-usando.html
segunda-feira, 22 de março de 2010
Alterar o hostname no Opensolaris
Segue a dica:
# su
# cd /etc/
# chmod 777 nodename
Adicione o novo nome do host
# nano nodename
# chmod 444 nodename
# chmod 777 hosts
Adicione o novo nome do host aqui também
# nano hosts
# chmod 444 hosts
# vi /etc/hostname.
# reboot
Fiz isso baseado na referência, mas na prática não precisa tudo aquilo não.
Referência:
http://web.ics.purdue.edu/~acm/sigs/sigos/wiki/tiki-index.php?page=Changing+the+Hostname+in+OpenSolaris
# su
# cd /etc/
# chmod 777 nodename
Adicione o novo nome do host
# nano nodename
# chmod 444 nodename
# chmod 777 hosts
Adicione o novo nome do host aqui também
# nano hosts
# chmod 444 hosts
# vi /etc/hostname.
# reboot
Fiz isso baseado na referência, mas na prática não precisa tudo aquilo não.
Referência:
http://web.ics.purdue.edu/~acm/sigs/sigos/wiki/tiki-index.php?page=Changing+the+Hostname+in+OpenSolaris
quinta-feira, 18 de março de 2010
Modem 3G Nokia CS-10 no Debian e Derivados.
Esse foi trabalhoso, mas espero que este tutorialzinho ajude.
Existem duas maneiras de conseguir o "Feito":
É muito importamte ler uma das referências:
http://ubuntuforum-br.org/index.php?topic=59371.0
Iniciando
Modo Gráfico:
# apt-get install udev wvdial network-manager
Baixe o arquivo:
http://www.elitoral.com.br/dognew/downloads/nokia_cs10_3g.zip
Instale:
# unzip nokia_cs10_3g.zip
# cd Nokia_CS10_3g/linux
# sh install.sh
Clique no ícone do network-manager (gnome) e Editar Conexões / Banda Larga Móvel / Adicionar
Siga o menu intuitivo, coloque o 3G na Porta USB e Boa navegação.
Modo Texto:
# apt-get install udev wvdial
Aqui "fede" um pouco...
Crie o arquivo /etc/udev/rules.d/90-nokia-zerocd.rules
###/etc/udev/rules.d/90-nokia-zerocd.rules###
SUBSYSTEMS=="usb", SYSFS{idVendor}=="0421", SYSFS{idProduct}=="060c", ACTION=="add", PROGRAM=="nokia-testcd %M %s{serial}", RUN+="/usr/bin/eject -s %k", OPTIONS+="last_rule"
###EOF###
Crie o script /lib/udev/nokia-testcd
#!/bin/sh ###/lib/udev/nokia-testcd###
# Don't eject if flag in place
if [ -f /etc/udev/nokia-zerocd-noeject ]; then
exit 1
fi
# Extract USB serial into major and minor numbers
minor=`echo $2 | sed 's/.[0-9]*\.//'`
major=`echo $2 | sed 's/\.[0-9]*$//'`
# Compare with current software version
if [ "$major" -gt "0" ] || [ "$minor" -gt "10" ]; then
exit 1
fi
# Clean exit on match
exit 0
####EOF###
Dê permissões de execução ao mesmo
# chmod +x /lib/udev/nokia-testcd
reinicie o udev
# /etc/init.d/udev restart
Feito isso, basta editar o /etc/wvdial.conf
###/etc/wvdial.conf###
[Dialer vivo]
Init1 = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","zap.vivo.com.br"
Password = vivo
Phone = *99#
Modem Type = Analog Modem
Stupid mode = yes
Baud = 460800
New PPPD = yes
Modem = /dev/ACM0
ISDN = 0
Username = vivo
Carrier Check = no
Auto Reconnect = yes
###EOF###
Testando a Conexão:
# wvdial vivo
--> Sending: AT+CGDCONT=1,"IP","zap.vivo.com.br"
AT+CGDCONT=1,"IP","zap.vivo.com.br"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
~[7f]}#@!}!}!} }<}!}$}&@}#}$@#}%}&}7[08](q}"}&} } } } }'}"}(}"[7f]`~~~ --> Carrier detected. Starting PPP immediately.
--> Starting pppd at Thu Mar 18 16:55:22 2010
--> Pid of pppd: 2459
--> Using interface ppp0
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> local IP address 187.xx.xx.xx
--> pppd: �"[11][08]�"[11][08]
--> remote IP address 10.0.0.1
--> pppd: �"[11][08]�"[11][08]
--> primary DNS address 200.xx.xx.202
--> pppd: �"[11][08]�"[11][08]
--> secondary DNS address 200.xx.xx.41
--> pppd: �"[11][08]�"[11][08]
Boa navegação!
OBSERVAÇÃO: Há uma diferença entre o arquivo 90-nokia-zerocd.rules (editado) e o mesmo referente no script baixado, mas ambos funcionáram em modo gráfico, em modo texto só consegui fazer funcionar usando o modo editado.
Referências:
gráfica (primeira dica):
http://ubuntuforum-br.org/index.php?topic=59371.0
texto:
http://www.islascruz.org/html/index.php/blog/show/Nokia-Internet-Stick-CS-10-on-Linux.html
Existem duas maneiras de conseguir o "Feito":
É muito importamte ler uma das referências:
http://ubuntuforum-br.org/index.php?topic=59371.0
Iniciando
Modo Gráfico:
# apt-get install udev wvdial network-manager
Baixe o arquivo:
http://www.elitoral.com.br/dognew/downloads/nokia_cs10_3g.zip
Instale:
# unzip nokia_cs10_3g.zip
# cd Nokia_CS10_3g/linux
# sh install.sh
Clique no ícone do network-manager (gnome) e Editar Conexões / Banda Larga Móvel / Adicionar
Siga o menu intuitivo, coloque o 3G na Porta USB e Boa navegação.
Modo Texto:
# apt-get install udev wvdial
Aqui "fede" um pouco...
Crie o arquivo /etc/udev/rules.d/90-nokia-zerocd.rules
###/etc/udev/rules.d/90-nokia-zerocd.rules###
SUBSYSTEMS=="usb", SYSFS{idVendor}=="0421", SYSFS{idProduct}=="060c", ACTION=="add", PROGRAM=="nokia-testcd %M %s{serial}", RUN+="/usr/bin/eject -s %k", OPTIONS+="last_rule"
###EOF###
Crie o script /lib/udev/nokia-testcd
#!/bin/sh ###/lib/udev/nokia-testcd###
# Don't eject if flag in place
if [ -f /etc/udev/nokia-zerocd-noeject ]; then
exit 1
fi
# Extract USB serial into major and minor numbers
minor=`echo $2 | sed 's/.[0-9]*\.//'`
major=`echo $2 | sed 's/\.[0-9]*$//'`
# Compare with current software version
if [ "$major" -gt "0" ] || [ "$minor" -gt "10" ]; then
exit 1
fi
# Clean exit on match
exit 0
####EOF###
Dê permissões de execução ao mesmo
# chmod +x /lib/udev/nokia-testcd
reinicie o udev
# /etc/init.d/udev restart
Feito isso, basta editar o /etc/wvdial.conf
###/etc/wvdial.conf###
[Dialer vivo]
Init1 = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","zap.vivo.com.br"
Password = vivo
Phone = *99#
Modem Type = Analog Modem
Stupid mode = yes
Baud = 460800
New PPPD = yes
Modem = /dev/ACM0
ISDN = 0
Username = vivo
Carrier Check = no
Auto Reconnect = yes
###EOF###
Testando a Conexão:
# wvdial vivo
--> Sending: AT+CGDCONT=1,"IP","zap.vivo.com.br"
AT+CGDCONT=1,"IP","zap.vivo.com.br"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
~[7f]}#@!}!}!} }<}!}$}&@}#}$@#}%}&}7[08](q}"}&} } } } }'}"}(}"[7f]`~~~ --> Carrier detected. Starting PPP immediately.
--> Starting pppd at Thu Mar 18 16:55:22 2010
--> Pid of pppd: 2459
--> Using interface ppp0
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> pppd: �"[11][08]�"[11][08]
--> local IP address 187.xx.xx.xx
--> pppd: �"[11][08]�"[11][08]
--> remote IP address 10.0.0.1
--> pppd: �"[11][08]�"[11][08]
--> primary DNS address 200.xx.xx.202
--> pppd: �"[11][08]�"[11][08]
--> secondary DNS address 200.xx.xx.41
--> pppd: �"[11][08]�"[11][08]
Boa navegação!
OBSERVAÇÃO: Há uma diferença entre o arquivo 90-nokia-zerocd.rules (editado) e o mesmo referente no script baixado, mas ambos funcionáram em modo gráfico, em modo texto só consegui fazer funcionar usando o modo editado.
Referências:
gráfica (primeira dica):
http://ubuntuforum-br.org/index.php?topic=59371.0
texto:
http://www.islascruz.org/html/index.php/blog/show/Nokia-Internet-Stick-CS-10-on-Linux.html
segunda-feira, 15 de março de 2010
OpenVPN em OpenSolaris
OpenVPN em OpenSolaris 2009.06
Mais uma vez escrevo um tutorial por não achar nada em pt_br para OpenSolaris.
Instalando pacotes necessários.
# pkg refresh --full
# pkg install SUNWgcc
Interface TUN/TAP
# mkdir -p /usr/local/src
# cd /usr/local/src
# wget http://www.whiteboard.ne.jp/~admin2/tuntap/source/tuntap/tuntap.tar.gz
# tar xvfz tuntap.tar.gz
# chown -R root:root tuntap
# cd tuntap
# ./configure
# make
# make install
Lib de Compressão LZO
# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
# gzcat lzo-2.03.tar.gz | tar xvf lzo-2.03.tar.gz
# gzcat lzo-2.03.tar.gz | tar xvf -
# cd lzo-2.03
# ./configure
# make
# make install
Instalação do OpenVPN
# cd /usr/local/src
# wget http://www.openvpn.net/release/openvpn-2.1_rc15.tar.gz
# tar xvfz openvpn-2.1_rc15.tar.gz
# chown -R root:root openvpn-2.1_rc15
# cd openvpn-2.1_rc15
# wget -O tun.c http://www.whiteboard.ne.jp/~admin2/tuntap/source/openvpn/2.1/tun.c
Configurando com LZO
# ./configure --with-lzo-lib=/usr/local/lib
Configurando sem LZO
# ./configure --disable-lzo
# make
# make install
Arquivo de Configuração:
###/etc/openvpn/openvpn.conf retirado do vivaolinux###
# Interface da VPN
dev tun
port 5000
proto udp
server 192.168.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/kenji.crt
key /etc/openvpn/easy-rsa/keys/kenji.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
push "route 192.168.0.0 255.255.0.0"
comp-lzo
ping-timer-rem
persist-tun
persist-key
group nobody
daemon
mute 20
####Fim####
Copie a pasta openvpn-2.1_rc15/easy-rsa/ para /etc/openvpn/
# cp -r /usr/local/src/openvpn-2.1_rc15/easy-rsa/ /etc/openvpn/
agora vamos gerar as chaves de criptografia usando sh "shell" NÃO BASH!!!
Configurações para Server
# sh
# ./vars
# ./clean-all
# ./build-ca
# ./build-key-server kenji
Configuração de Clientes
# ./build-key dr-gori
# ./build-key karas
Voltando a Conf do Server
# ./build-dh
# cp -r $KEYS /etc/openvpn/
OBS: KEYS são as suas chaves, não vai me digitar $KEYS
Copie as $KEYS correspondentes aos Clientes e coloque nas pastas específicas.
Inicializando o Serviço no OpenSolaris:
# /usr/local/sbin/openvpn --daemon --writepid /tmp/openvpn.pid.pid --cd /etc/openvpn/ --config /etc/openvpn/openvpn.conf
Para Matar o processo:
# kill 'cat /tmp/openvpn.pid'
Verificando a tun0:
# ifconfig tun0
tun0: flags=10010008d1 mtu 1500 index 3
inet 192.168.0.1 --> 192.168.0.2 netmask ffffffff
ether b8:be:60:db:0:0
Feito isso, é só configurar os Clientes.
um Abraço!
Configuração em Cliente Windows:
http://www.guiadohardware.net/tutoriais/openvpn/pagina7.html
OBS 1 : Fiz testes com Clientes: Windows , Linux e FreeBSD.
OBS 2 : O arquivo de Configuração pode ser de QUALQUER outro tutorial visto, com ou sem lzo.
OBS 3 : É importante haver os arquivos *.cert e *.key para funcionamento da VPN.
OBS 4 : Em ZONES ele não reconhece a REDE.
OBS 5 : Kenji, Karas e Dr-Gori, sim -- são do Spectreman.
Bibliografia
http://web.vathorstweb.nl/index.php?option=com_content&task=view&id=68&Itemid=48
Licença CC conforme site:
http://creativecommons.org/licenses/by-sa/2.5/br/
Mais uma vez escrevo um tutorial por não achar nada em pt_br para OpenSolaris.
Instalando pacotes necessários.
# pkg refresh --full
# pkg install SUNWgcc
Interface TUN/TAP
# mkdir -p /usr/local/src
# cd /usr/local/src
# wget http://www.whiteboard.ne.jp/~admin2/tuntap/source/tuntap/tuntap.tar.gz
# tar xvfz tuntap.tar.gz
# chown -R root:root tuntap
# cd tuntap
# ./configure
# make
# make install
Lib de Compressão LZO
# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
# gzcat lzo-2.03.tar.gz | tar xvf lzo-2.03.tar.gz
# gzcat lzo-2.03.tar.gz | tar xvf -
# cd lzo-2.03
# ./configure
# make
# make install
Instalação do OpenVPN
# cd /usr/local/src
# wget http://www.openvpn.net/release/openvpn-2.1_rc15.tar.gz
# tar xvfz openvpn-2.1_rc15.tar.gz
# chown -R root:root openvpn-2.1_rc15
# cd openvpn-2.1_rc15
# wget -O tun.c http://www.whiteboard.ne.jp/~admin2/tuntap/source/openvpn/2.1/tun.c
Configurando com LZO
# ./configure --with-lzo-lib=/usr/local/lib
Configurando sem LZO
# ./configure --disable-lzo
# make
# make install
Arquivo de Configuração:
###/etc/openvpn/openvpn.conf retirado do vivaolinux###
# Interface da VPN
dev tun
port 5000
proto udp
server 192.168.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/kenji.crt
key /etc/openvpn/easy-rsa/keys/kenji.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
push "route 192.168.0.0 255.255.0.0"
comp-lzo
ping-timer-rem
persist-tun
persist-key
group nobody
daemon
mute 20
####Fim####
Copie a pasta openvpn-2.1_rc15/easy-rsa/ para /etc/openvpn/
# cp -r /usr/local/src/openvpn-2.1_rc15/easy-rsa/ /etc/openvpn/
agora vamos gerar as chaves de criptografia usando sh "shell" NÃO BASH!!!
Configurações para Server
# sh
# ./vars
# ./clean-all
# ./build-ca
# ./build-key-server kenji
Configuração de Clientes
# ./build-key dr-gori
# ./build-key karas
Voltando a Conf do Server
# ./build-dh
# cp -r $KEYS /etc/openvpn/
OBS: KEYS são as suas chaves, não vai me digitar $KEYS
Copie as $KEYS correspondentes aos Clientes e coloque nas pastas específicas.
Inicializando o Serviço no OpenSolaris:
# /usr/local/sbin/openvpn --daemon --writepid /tmp/openvpn.pid.pid --cd /etc/openvpn/ --config /etc/openvpn/openvpn.conf
Para Matar o processo:
# kill 'cat /tmp/openvpn.pid'
Verificando a tun0:
# ifconfig tun0
tun0: flags=10010008d1
inet 192.168.0.1 --> 192.168.0.2 netmask ffffffff
ether b8:be:60:db:0:0
Feito isso, é só configurar os Clientes.
um Abraço!
Configuração em Cliente Windows:
http://www.guiadohardware.net/tutoriais/openvpn/pagina7.html
OBS 1 : Fiz testes com Clientes: Windows , Linux e FreeBSD.
OBS 2 : O arquivo de Configuração pode ser de QUALQUER outro tutorial visto, com ou sem lzo.
OBS 3 : É importante haver os arquivos *.cert e *.key para funcionamento da VPN.
OBS 4 : Em ZONES ele não reconhece a REDE.
OBS 5 : Kenji, Karas e Dr-Gori, sim -- são do Spectreman.
Bibliografia
http://web.vathorstweb.nl/index.php?option=com_content&task=view&id=68&Itemid=48
Licença CC conforme site:
http://creativecommons.org/licenses/by-sa/2.5/br/
Assinar:
Postagens (Atom)