# [HOW-TO] Samba. Gentoo → Windows 7

## nUmer_inaczej

Witam serdecznie.

Niejako przy okazji stworzyłem HOW-TO. Sambaa.Gentoo → Windows 7.

Mam nadzieję, że się przyda.

UPDATE: Poradnik został zaktualizowany.Last edited by nUmer_inaczej on Mon Jan 12, 2015 10:15 pm; edited 1 time in total

----------

## Jacekalex

 *Quote:*   

> Witam serdecznie.
> 
> Niejako przy okazji stworzyłem HOW-TO. Sambaa.Gentoo → Windows 7.

 

W tutku od Samby stoi jak byk:

```
# SAMBA ##

#Akceptowanie połączeń na port udp 137 z sieci lokalnej

iptables -I INPUT -i eth0 --protocol udp --destination-port 137 -m

state --state NEW,ESTABLISHED -j ACCEPT

#Akceptowanie połączeń na port udp 138 z sieci lokalnej

iptables -I INPUT -i eth0 --protocol udp --destination-port 138 -m

state --state NEW,ESTABLISHED -j ACCEPT

#Akceptowanie połączeń na port tcp 139 z sieci lokalnej

iptables -I INPUT -i eth0 --protocol tcp --destination-port 139 -m

state --state NEW,ESTABLISHED -j ACCEPT

#Akceptowanie połączeń na port tcp 445 z sieci lokalnej

iptables -I INPUT -i eth0 --protocol tcp --destination-port 445 -m

state --state NEW,ESTABLISHED -j ACCEPT
```

To nie jest z sieci lokalnej, tylko z całego świata, lamerstwo jakich mało.

Żeby było z sieci lokalnej, to musisz filtrować ruch albo po klasie IP źródłowych tej sieci, albo po mac-adresach (jeśli ta sieć lokalna jest spięta jednym switchem), inaczej port masz  otwarty na lokalną kulę ziemską  i lokalną resztę kosmosu.  :Wink: 

Tu masz o adresach sieci prywatnych:: 

http://pl.wikipedia.org/wiki/IPv4#Prywatne_adresy_IPv4

 *Quote:*   

>  Mam nadzieję, że się przyda.

 

Jak cały  konfig Samby zrobiłeś tak, jak Netfiltera, to tutek się nie przyda nikomu, chyba że na podpałkę do grilla (po wydrukowaniu).  :Wink: 

PS:

Masz jeszcze jeden błąd, z netfiltera wyleciał moduł state, zamiast tego jest moduł conntrack.

Składnia:

```
iptables  -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
```

To by było na tyle

 :Cool: 

----------

## nUmer_inaczej

Dzięki za odpowiedź. Właśnie problem konfiguracji firewalla przedstawiłem w innym, niższym poście.

Więc ja rozumuję w ten sposób routerem jestem spięty z internetem. Router poprzez serwer DHCP przydziela mi adres IP oraz pozostałym użytkownikom sieci lokalnej z klasy C 192.168.0.100 wzwyż. O ile dla mojego komputera na którym udostępniam zasoby nie został zarezerwowany adres IP - mogę za każdym razem otrzymać inny w przypadku różnej kolejności przydzielenia adresu przez wspomniany serwer DHCP pozostałym użytkownikom podpiętym pod ten router. (Nie zawsze wszyscy będą spinać się z siecią poprzez wifi by korzystać z zasobów)

Zatem wyszedłem z założenia, że nie powinienem w firewallu udostępniającego zasoby ograniczać się do podania możliwie zmiennego IP, tylko do interfejsu eth0.

Dzięki.

EDIT:

czyli ostateczna wersja configuracji firewalla powinna wyglądać jak poniżej, tu dla przykładowego mcadressu:

```
## SAMBA ##

#Akceptowanie połączeń na port udp 137 z sieci lokalnej

iptables -I INPUT -m mac --mac-source C0:4A:00:03:85:5B --protocol udp --destination-port 137 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

#Akceptowanie połączeń na port udp 138 z sieci lokalnej

iptables -I INPUT -m mac --mac-source C0:4A:00:03:85:5B --protocol udp --destination-port 138 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

#Akceptowanie połączeń na port tcp 139 z sieci lokalnej

iptables -I INPUT -m mac --mac-source C0:4A:00:03:85:5B --protocol tcp --destination-port 139 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

#Akceptowanie połączeń na port tcp 445 z sieci lokalnej

iptables -I INPUT -m mac --mac-source C0:4A:00:03:85:5B --protocol tcp --destination-port 445 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

```

----------

## Jacekalex

Dla mac-adresu tak.

Jeśli potrzebowałbyś wpuścić sieć np 192.168.0.0/24,

to byłoby:

```
iptables -I INPUT  -s  192.168.0.0/24 --protocol udp --destination-port 137 -m conntrack --ctstate NEW,RELATED,ESTABLISHED -j ACCEPT 
```

Poza tym IMHO nie ma sensu robić dla każdego portu osobnych reguł, lepiej użyć modułu multiport, użycie np (tu w innym charakterze):

```
-A PREROUTING ! -i lo -p tcp -m multiport --dports 22,113,445,1433,1512,2175,2176,3306,5432 -j SET --add-set wypad src
```

W ten sposób skrócisz sprawę do dwóch regułek, po jednej dla tcp i udp.

Jeśli natomiast chciałbyś filtrować po parach adres IP i mac-adres, to ja radziłbym brać ipseta, tablicę bitmap:ip,mac.

http://ipset.netfilter.org/ipset.man.html#lbAO

W nim zmieścisz nawet 60 tys wpisów, a FW i tak będzie widział to jako jedną regułkę.

Taka opcja jest dostępna, jeśli wszystkie kompy mają zawsze te same adresy IP, niezależnie od tego, jak je otrzymały.

W każdym routerze, jaki w życiu widziałem, można ustawić statycznie w dhcp pary adres Ip -mac-adres, żeby kompy w lanie można było wywoływać przykładowo po nazwach z /etc/hosts, albo użyć lokalnego serwera DNS dla sieci LAN.

Przy okazji, jak ten tutek ma przeżyć kilka lat, to przygotuj się do zmiany firewalla z iptables na nftables.

Za jakiś rok taka zmiana w Linuxie stanie się faktem.

http://wiki.nftables.org/wiki-nftables/index.php/Main_Page

IPv6 też się przyda w nieodległej przyszłości.

Pozdro

 :Cool: 

----------

