LINUX.ORG.RU

Сообщения harhor

 

Samba через VPN

Здравствуйте. Надо поднять самбу на сервере и подключаться к ней через впн соеденение. Есть две подсети на сервере. Одна домашняя(192.168.0.1), другая- ВПН(10.8.0.1). Машины(winXP), которые подключаются через ВПН не видят самбу ни в сетевом окружении, ни через поиск по айпи. Машины(Win7) из внутреней сети ее тоже не видят, но могут зайти по айпи и увидеть список файлов, но почему-то без пароля, хотя в самбе стоит security=user Версия самбы- 4.1.0 ОС- Slackware 14.1

/etc/pptpd.conf:

option /etc/ppp/options.pptpd
debug
logwtmp
localip 10.8.0.1
remoteip 10.8.0.2-50

/etc/ppp/options.pptpd:

name pptpd
lock
nodefaultroute
nobsdcomp
ms-dns 10.8.0.1
proxyarp
auth
refuse-eap
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 30
lcp-echo-interval 5

debug

/etc/samba/smb.conf:

<global>
   dos charset = CP860
   workgroup = JW
   netbios name = JWFS
   server string = Samba%v
   server role = standalone server
   dns forwarder = 10.8.0.1
   encrypt passwords = yes
   passdb backend = smbpasswd
   smb passwd file = /etc/samba/private/smbpasswd
   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
   os level = 34
   local master = yes
;   domain logons = yes
;   preferred master = yes
   domain master = no
   bind interfaces only = yes
   interfaces = ppp* eth0 127.0.0.1
   wins support = yes
;   name resolve order = lmhosts host wins bcast
   hosts allow = 10.8.0 192.168.0. 127.0.0.1
   guest account = guest
   security = user
   map to guest = bad user
   invalid users = root
   syslog only = no
   syslog = 0
   log file = /var/log/samba/log.%m
;   unix password sync = yes
;   passwd program = /usr/bin/passwd %u
;;;; Disable Printer ;;;;;
   load printers = no
   show add printer wizard = no
   printcap name = /dev/null
   disable spoolss = yes

<Public>
   comment = Public
   browseable = yes
;   writable = yes
   read only = no
   guest ok = no
   public = yes
   path = /home/public
   create mask = 0750

С клиентами на XP все в порядке. Их несколько и они друг друга видят. Но они в одной подсети, не через ВПН.

Вот еще выхлоп iptables -L:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ACCEPT     gre  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:pptp
ACCEPT     all  --  10.8.0.0/24          anywhere
DROP       tcp  --  anywhere             anywhere             tcp dpt:http #conn src/32 > 50
ACCEPT     tcp  --  anywhere             anywhere             multiport dports http,https
DROP       tcp  --  anywhere             anywhere             tcp dpt:domain #conn src/32 > 8
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
DROP       udp  --  anywhere             anywhere             udp dpt:domain #conn src/32 > 8
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpts:bootps:bootpc
ssh_brute_check  tcp  --  anywhere             anywhere             ctstate NEW tcp dpt:22622
ssh_brute_check  tcp  --  anywhere             anywhere             tcp dpt:22622
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere             tcp dpts:41361:65534

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
TCPMSS     tcp  --  anywhere             anywhere             tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
ACCEPT     gre  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:pptp
ACCEPT     tcp  --  10.8.0.0/24          anywhere             multiport dports netbios-ssn,microsoft-ds
ACCEPT     tcp  --  10.8.0.0/24          anywhere             multiport dports netbios-ssn,microsoft-ds
ACCEPT     all  --  192.168.0.0/24       anywhere
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             state NEW,RELATED,ESTABLISHED
ACCEPT     udp  --  anywhere             anywhere             udp spt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp spt:netbios-dgm
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:microsoft-ds
ACCEPT     gre  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:pptp
ACCEPT     all  --  10.8.0.0/24          anywhere
ACCEPT     tcp  --  anywhere             anywhere             multiport sports http,https
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:domain
ACCEPT     udp  --  anywhere             anywhere             udp spt:domain
ACCEPT     udp  --  anywhere             anywhere             udp spts:bootps:bootpc
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:22622
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:ftp

Chain ssh_brute_check (2 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             ctstate NEW recent: UPDATE seconds: 300 hit_count: 3 name: DEFAULT side: source mask: 255.255.255.255
ACCEPT     all  --  anywhere             anywhere             recent: SET name: DEFAULT side: source mask: 255.255.255.255

В нем я тупо все разрешил пока чтобы не грешить.

 , ,

harhor
()

Железный занавес!

Всем привет. Разбирался тут на днях с iptables для веб сервера. В итоге получился следующий набор правил:

### ============== RESET ALL RULES ============= ###
iptables -F
iptables -X
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP

### =============== SSH CHECK RULE ============== ###
iptables -N ssh_brute_check
iptables -A ssh_brute_check -m conntrack --ctstate NEW -m recent --update --seconds 300 --hitcount 3 -j DROP
iptables -A ssh_brute_check -m recent --set -j ACCEPT

### ================ OUTPUT RULES =============== ###
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT --match state --state NEW,ESTABLISHED,RELATED -j ACCEPT

### ================== INPUT RULES ============== ###
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

### http(s)
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
iptables -A INPUT -p tcp --match multiport --dports 80,443 -j ACCEPT
iptables -A OUTPUT -p tcp --match multiport --sports 80,443 -j ACCEPT

### DNSMASQ
iptables -A INPUT -p udp --dport 53 -m connlimit --connlimit-above 8 -j DROP
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -i eth0 -s $LOCAL_SUBNET/24 -p udp --dport 67:68 -j ACCEPT 
iptables -A OUTPUT -o eth0 -s $LOCAL_SUBNET/24 -p udp --sport 67:68 -j ACCEPT
  
### SSH
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --dport 22622 -j ssh_brute_check
iptables -A OUTPUT -p tcp --sport 22622 -j ACCEPT
iptables -A INPUT -p tcp --dport 22622 -j ssh_brute_check
  
### FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
    
### TLS FTP
iptables -A INPUT -p tcp --dport 41361:65534 -j ACCEPT

iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --reject-with tcp-reset

iptables -A INPUT -i eth1 -p tcp ! --syn -m state --state NEW -j DROP

#iptables -A INPUT -s $LOCAL_SUBNET/24 -j ACCEPT
#iptables -A OUTPUT -s $LOCAL_SUBNET/24 -j ACCEPT

### ================  FORWARD RULES ============== ###
iptables -A FORWARD -s $LOCAL_SUBNET/24 -i eth0 -o eth1 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth1 -s $LOCAL_SUBNET/24 -j MASQUERADE

iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Refuse forwarding from the internet
iptables -A FORWARD -i eth1 -s $LOCAL_SUBNET/24 -j DROP

# Don't allow forwarding from incorrect IPs.
iptables -A FORWARD -i eth0 ! -s $LOCAL_SUBNET/24 -j DROP

Стоить добавить, что веб сервер по совместительству еще и раздает интернет в дом.

Во-первых, хочется узнать мнение экспертов. Может какие правила можно опустить, они противоречат друг другу или вообще неправильные. И во-вторых, может кто-нибудь подскажет почему с такими правилами dnsmasq перестает раздавать dhcp??? Однако, если выставить статичный айпи, то маскардинг работает. А если сбросить эти правила, то dhcp снова начинает раздаваться.

 , ,

harhor
()

Логирование нагрузки на процессор

Всем привет. Хочу поделиться некоторыми идеями по поводу сабжа, а заодно спросить мнение опытных. На днях прочел вот эту статью на хабре http://habrahabr.ru/post/216827/

Поразмыслив и поэксмерентировав немного я написал такой скрипт:

CPU_LOG=~/cpu.log

CPU_CORES=`cat /proc/cpuinfo | grep 'cpu cores' | awk '{print $4}' | uniq`

CPU_AVERAGE=`uptime\
             | awk '{for(i=1;i<=NF;i++) if(i==NF-2) print($i)}'\
             | sed 's,\,,,g' | awk '{print $1*100}'`

echo "`date +"%Y-%m-%d %H-%M-%S"` $(($CPU_AVERAGE / $CPU_CORES))" >> $CPU_LOG

Суть элементарная. Я просто делю среднюю нагрузку за минуту на кол-во ядер и получаю средний процент нагрузки за минуту. Крон дергает этот скрипт раз в минуту.

Кто что думает, насколько правильный подход? Любой облачный хостинг предоставляет отчеты по нагрузке в виде красивых графиков. Хочется сделать нечто подобное.

 ,

harhor
()

Настройка DNS

Приветствую.

Дома поставил сервер. Купил на nic. ru услугу DNS-master и привязал к своему серверу домен test1. ru Также создал там несколько поддоменов вида phpmyadmin. test1. ru, ns1.test1. ru, ns2.test1. ru и пр.

Хочу теперь еще один сайт поселить на своем сервере. Назовем его test2. ru. Захожу в кабинет управления вторым доменом на nic. ru и делегирую его на днсы ns1.test1.ru и ns2.test1.ru

На сервере прописываю такую зону в bind:

------------------

$TTL 86400

$ORIGIN test2. ru.

@ IN SOA ns1.test1.ru. root.localhost. (

13 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

@ IN NS ns1.test1.ru.

@ IN NS ns2.test1.ru.

;

@ IN A xx.xxx.xxx.xxx

;

www IN CNAME @

ftp IN CNAME @

--------------------------------

Все вроде бы красиво. И гугл говорит, что все хооршо, возвращая по команде dig @8.8.8.8 test2. ru правильный айпи.

Но половина пользователей теперь не может зайти на сайт test2. ru. Пишет- сервер не найден. Со своего компьютера я раньше заходил, но с сегодняшнего дня такая же беда. При чем набираю из консоли dig @8.8.8.8- работает, а dig @свой_роутер- нет.

Может дело в обратной зоне? Для сайта test1. ru я просил провайдера создать ее.

 , ,

harhor
()

RSS подписка на новые темы