Здравствуйте многоуважаемые дамы и господа!
Хочу дома создать сервер который бы мог:
1 Подключаться к интернету через PPPOE.
2 Раздавать интернет локальной сети.
3 Хранить файлы и обеспечить общий доступ к ним из локальной сети!

Чтобы создать такой сервер приобрел следующие железо:
Материнская плата Zotac Z68 (обладает двумя сетевыми портами + WiFi)
Процессор Intel i3
И все остальное для работы сервера)!

Я не так давно начал пользоваться Linux, но вот как я себе представляю решение моей задачи!

Для реализации всего вышеперечисленного я хочу использовать дистрибутив Linux Debian.

Для подключения к интернету буду использовать PPPoE клиента который храниться в официальных репозиториях Debian.

Раздавать интернет в локальную сеть я собираюсь через NAT+DHCP-Server

Для общего использования файлов и хранения их на сервере хочу настроить Samba-Server

Как вы смотрите на такие решения? есть ли более надежные и простые решения?

2

Еще нужен ДНС и шейпер. Можно статистику прикрутить. Сквид как прозрачный прокси.

3

Прочитал про шейпер это интересное дополнение, спасибо за совет! А вот на счет прозрачного прокси не совсем понял его принцип действия и смысл не могли бы вы пояснить для чего он нужен!
На счет DNS, я хотел бы использовать DNS провайдера, подскажите как сконфигурировать DHCP-Server, что бы он назначал DNS-Server  провайдера.

4

Я прозрачный использую в-основном для фильтрации и кешинга. Очень экономит трафик =)

5

Понятно, я собираюсь сделать домашнею сеть по этому экономить трафик мне просто незачем тем более безлимитный интернет!

6

Сколько компьютеров планируется в сети?
а то может проще докупить нормальный маршрутизатор с USB
ну а так ход настройки в принципе верен.

7

Планируется 3 компьютера на windows 7 + мобильные устройства телефоны ноутбуки и так далее, все эти компьютеры должны быть подключены к интернету и обладать доступом к жестким дискам планируется даже RAID 10.
По сути хочу сделать два в одном роутер и сетевое хранилище, что получиться не знаю) и возможно прикрепить ко всему этому, что-то на подобии медиаоболочки на подобии XBMC.

Тут у меня возникло некоторое сомнение на материнской плате 2 сетевых интерфейса один смотрит в сторону интернета другой в сторону сети, если я подключу свич к сетевому интерфейсу который смотрит в сторону сети то будет ли он раздавать адреса DHCP-Server?

8

Vladimir17m, начинать с этогого http://linuxforum.ru/viewtopic.php?pid=176106#p176106 , дальше - Samba информации тут о ней с избытком.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

9

Vladimir17m пишет:

будет ли он раздавать адреса DHCP-Server

конечно же будет, только поставить на машинах в локальной сети, в настройках, получать IP адрес автоматически.
Ну или если машин не много то прописать вручную, тогда DHCP можно не поднимать, хотя с ним оооочень удобно.

10

Как лучше организовать сетевые интерфейсы для раздачи DHCP-Server(ом) ip адресов создать сетевой мост между Wi-Fi и LAN2 или просто прописать в настройках DHCP эти интерфейсы?

11 (06.03.2012 14:17:06 отредактировано Vladimir17m)

newzenon Спасибо за ссылку прочитал разобрался, но почему то

# Открываем 80 порт для веб сайтов
$IPT -A INPUT -i $WAN -p all --dport 80 -j ACCEPT

не работает

12

Vladimir17m, -p all это я погорячился, -p tcp достаточно, вообще конкретика нужна, что как и почему у тебя настроенно. Вот мои правила для www сервера:

# WWW  наружу

$IPT -A INPUT   -i $WAN -p tcp -m tcp --dport    80 -j ACCEPT
$IPT -A OUTPUT  -o $WAN -p tcp -m tcp --sport    80 -j ACCEPT

Но у меня OUTPUT, FORWARD закрыты поэтому еще и:

$IPT -A OUTPUT  -o $WAN -p udp -m udp --dport    53 -j ACCEPT
$IPT -A OUTPUT  -o $WAN -p tcp -m tcp --dport    80 -j ACCEPT

Показывай правила целиком.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

13 (07.03.2012 05:41:44 отредактировано Vladimir17m)

Я сделал все, как написана в примере, ссылку на который вы мне давали.
У меня вопрос к вам, я сейчас строю тестовый сервер на виртуальной машине и при выполнение скрипта фаирвола у меня отключается интернет даже не пингуется роутер в чем может быть причина?

14

Vladimir17m, я ж не знаю настройки сети какие у тебя, это раз, на виртуалке не очень хорошо это проверять, два.
Сеть на виртуалке тоже надо уметь правильно настроить, ...
Так что чтобы что-то можно было сказать - настройки выкладывай.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

15

В самой виртуальной машине Устройства -> Сетевые адаптеры -> Адаптер 1-2 (оба включены , тип подключения сетевой мост!)


root@debian:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
   pre-up echo "1" > /proc/sys/net/ipv4/ip_forward  # Включаем форвардинг пакетов
   pre-up iptables-restore < /etc/ip_rulles.lst     # Загружаем правила
   post-down iptables-save > /etc/ip_rulles.lst     # Сохраняем правила

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp

Ну и для полной картины выложу настройки iptables

root@debian:~# cat /etc/ip_rulles.lst
# Generated by iptables-save v1.4.8 on Wed Mar  7 09:31:25 2012
*filter
:INPUT DROP [3:152]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m multiport --ports 50100:51100 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
COMMIT
# Completed on Wed Mar  7 09:31:25 2012
# Generated by iptables-save v1.4.8 on Wed Mar  7 09:31:25 2012
*nat
:PREROUTING ACCEPT [3:152]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [1:84]
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Mar  7 09:31:25 2012
# Generated by iptables-save v1.4.8 on Wed Mar  7 09:31:25 2012
*mangle
:PREROUTING ACCEPT [9:656]
:INPUT ACCEPT [9:656]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6:504]
:POSTROUTING ACCEPT [6:504]
COMMIT
# Completed on Wed Mar  7 09:31:25 2012

16

Ну во первых бридж для эмуляции реальной сетки не подойдет, во вторых - не понял что за виртуалка. Далее шлюзом пытаешься сделать хост, на котором запускаешь виртуалку?
Итак для человеческой эмуляции сети нужен vde2 и kvm/qemu.
На хосте =>>>
Поднимаем виртуальный интерфейс:

vde_tunctl -t tap0

Поднимаем виртуальный свитч с 5-ю портами и включаем в него наш tap0:

vde_switch -x -n 5 -s /run/vde2/vde.ctl -g vde2-net -m 770 -d -p /run/vde2/vde.pid -t tap0

И имеем виртуальную сетку.
Kvm влючаем к сокету (подключится к вирт. свитчу):

kvm -m 1024 -k ru -localtime -net nic -net vde,sock=/run/vde2/vde.ctl -hda zsn.img

Читать:
http://wiki.debian.org/QEMU
http://vde.sourceforge.net/
http://wiki.virtualsquare.org/wiki/index.php/Main_Page
http://www.docunext.com/wiki/QEMU_with_VDE2_on_Debian
http://www.linux-kvm.com/content/switch … orking-vde
http://en.gentoo-wiki.com/wiki/KVMwithVDE

Примеры работы с kvm/qemu
Создать пустой образ 3Gb:

# qemu-img create /home/user/my_qemu_image.img 3G -v

Запустить установку с iso:
Как пример

# kvm -m 300 -hda /home/user/my_qemu_image.img  -cdrom '/home/iso/archlinux-2010.05-core-x86_64.iso'

Если нет поддержки kvm - вместо

# qemu -m 300 -hda /home/user/my_qemu_image.img  -cdrom '/home/iso/archlinux-2010.05-core-x86_64.iso'

-m 300 - выделить 300 метров под оперативку.
http://xgu.ru/wiki/Man:qemu


Установка vde2 и kvm:

$ aptitude install vde2 kvm
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

17

Виртуалка Oracle VM VirtualBox, я собираюсь в скором будущем собрать реальную машину поэтому поднимать виртуальные интерфейсы бессмыслен, но за информацию благодарю!

18

Vladimir17m пишет:

Виртуалка Oracle VM VirtualBox, я собираюсь в скором будущем собрать реальную машину поэтому поднимать виртуальные интерфейсы бессмыслен, но за информацию благодарю!

Для тестирования samba+pppoe достаточно одного интерфейса.
Я так понимаю виртуальная машина стоит на винде.
В свойствах сети в виртуалбоксе для данной гостевой системы указываете-адаптер1-тип подключения-виртуальный адаптер хоста.
В виртуалке(интерфейс гостевой системы) задаете статический адрес из той же сети, что и винда.
В сетевых подключениях винды делаете мост из физического сетевого адаптера и адаптера виртуалбокса, присваиваете мосту старый ип.