Eu tenho um servidor Ubuntu rodando como um roteador. No servidor eu uso o iptables e o servidor DHCP 3.1.3, Samba 3.4.7 e OpenVPN 2.1.0.
Eu tenho problema com o servidor Samba desaparece da lista do navegador do cliente VPN após um período de tempo (mais de 20 minutos). A única coisa que percebo como estranho no meu log do iptables é:
[..] OUTPUT:DROP: IN= OUT=eth0 SRC=10.100.0.1 DST=10.50.0.255 LEN=78 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=137 DPT=137 LEN=58
Se o cliente VPN se reconectar, o servidor Samba aparecerá instantaneamente na lista do navegador.
Redes : LAN e VPN estão em sua própria sub-rede. (10.50.0.0 e 10.100.0.0)
DHCP :
subnet 10.50.0.0 netmask 255.255.255.0 {
interface eth0;
range 10.50.0.2 10.50.0.239;
default-lease-time 6000;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.50.0.255;
option routers 10.50.0.1;
option domain-name-servers XXX.XXX.XXX.XXX, XXX.XXX.XXX.XXX;
option netbios-name-servers 10.50.0.1;
}
subnet 10.100.0.0 netmask 255.255.255.0 {
interface tap0;
range 10.100.0.2 10.100.0.239;
default-lease-time 6000;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.100.0.255;
option netbios-name-servers 10.100.0.1;
}
Iptables (com estado) :
iptables -A INPUT -i eth0 -s 10.50.0.0/24 -d 10.50.0.255/32 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -s 10.50.0.0/24 -d 10.50.0.1/32 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 ! -s 10.50.0.0/24 -d 10.50.0.255/32 -j DROP
iptables -A INPUT -i tap0 -s 10.100.0.0/24 -d 10.100.0.255/32 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i tap0 -s 10.100.0.0/24 -d 10.100.0.1/32 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o tap0 ! -s 10.100.0.0/24 -d 10.100.0.255/32 -j DROP
LAN : O usuário está obtendo o gateway, o dns, o NetBIOS (10.50.0.1) etc. etc. e são encaminhados à Internet. (Funciona 100%)
servidor OpenVPN :
Cliente OpenVPN : o cliente está usando keepalive ( keepalive 10 120
)
servidor Samba :
[global]
server string = [NAME]
interfaces = 10.50.0.0/24, 10.100.0.0/24
bind interfaces only = Yes
security = SHARE
guest account = smbguest
syslog = 5
log file = /var/log/samba/log.%m
max log size = 1000
name resolve order = wins bcast lmhosts host
max ttl = 21600
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
lm announce = Yes
lm interval = 30
local master = No
domain master = No
dns proxy = No
wins support = Yes
invalid users = root
guest ok = Yes
hosts allow = 127.0.0.1, 10.50.0.0/24, 10.100.0.0/24
hosts deny = 0.0.0.0/0