Автор Тема: Уеб сървър, самба сървър, мейл сървър и рутер с Виртуалмин - всичко в едно!  (Прочетена 4806 пъти)

backinblack

  • Участник
  • *****
  • Публикации: 3201
    • Профил
Webmin/Virtualmin е един чудесен пакет за графично управление Линукс сървъри. С Уебмин/Виртуамин може абсолютно на пълно да се елиминира използването на конзолата и абсолютно всичко да се настройва графично, като не е проблем да се ползва и конзола, но трябва да се има в предвид някои особености за да не се получат конфликти. Ще ви напиша една инструкция за бързо и лесно подкарване на нещата, а веднъж подкарани всеки сам да си ги допълва и модифицира според нуждите си. 
Виртуалмин се инсталира само върху чиста инсталация от скрипт. За целта, при инсталиране на Линукс съръвъра(в случая Убунту 16.04), като стигнем до инсталиране на нужните пакети избираме само и единствено да се инсталира SSH server-a! Преди това, по време на инсталацията, сървъра трябва да е свързан към външното статично ИП и да сме избрали Име на хоста и името на домейна който ще ползваме.
След като вече сме инсталирали Убунту сървъра, по тази https://www.digitalocean.com/community/tutorials/how-to-install-and-utilize-virtualmin-on-a-vps инструкция инсталираме Виртуалмин. След инсталацията му, на адрес https://localhost:10000 отваряме Виртуалмин и продължаваме всичко графично. При първо отваряне на Виртуалмин се преминава през уизърт за първоначално настройване на сървъра. Като стигнете до въпроса дали да стартира Постгре БД, изберете да се стартира автоматично, защото, ако в последствие ви потрябва е малко цирк накарването и да стартира автоматично, а тя, когато не се ползва не черпи и ресурс от сървъра.
Тъй-като ще ви се наложи доста да пишете по конфиг файлове, варианта за това е чрез файл менажера или по-интелигентен вариант от менюто Webmin->Webmin Configuration->Webmin Modules->Third party module from да инсталирате модула Text Editor. Всеки конфиг файл, веднъж редактиран с този модул се запаметява в него за по-следваща редакция и така няма нужда да се ровят и да се търсят из цялата система при следваща редакция.
Следващото нещо, което трябва да направим е да зададем ИП на втория интерфейс, който ще ни бъде за вътрешната ЛАН мрежа. В Убунту 16.04 интерфейсите са с имена ens32, ens33........., а не както в предишни версии етн0, етн1........ и вашите най-вероятно ще бъдат ens32 и ens33.
С текст едитора отваряме файла /etc/network/interfaces(можете да копирате пътя в полето на текст едитора и да го отворите без търсене) и там ще видим, че са записани настройките на външния интерфейс, но липсват тези за втория, който ще ни бъде за лан мрежата. Ако първия интерфейс е ens32, то втория ще бъде ens33 и ще го добавим така:
Цитат
iface ens33 inet static
   address 192.168.1.2
   netmask 255.255.255.0
   broadcast 192.168.1.255
   network 192.168.1.0
Също така, трябва да го направим и да се стартира автоматично като добавим към
Цитат
auto lo ens32
и интерфейса ens33 и реда да добие следния изглед:
Цитат
auto lo ens32 ens33
Тук ще внеса малко обяснения: С цел ИП 192.168.1.1 да ми остане свободно в случай, че се наложи да включа рутер "кутиика" и тъй-като фабричните им настройки ползват ИП 192.168.1.1, аз това ИП го оставям свободно. Клиентите ми получават по DHCP-то Гейтъуеи и ДНС 192.168.1.2 , но вие, ако искате можете да си сложите 192.168.1.1 или 192.168.0.1 или 192.168.0.2 .
Отиваме в менюто/модула Networking->Network Configuration можем да прегледаме графично всичко правилно ли е направено. Активни ли са двата интерфейса, дали е зададено да се стартират автоматично, а и евентоално да забраним ipv6.

Сега вече ще инсталираме Shorewall и ще пуснем и-нета към втората лан карта.

Тъй-като най-вероятно ползвате за връзка протокола ipv4, от модула/менюто  System->Software Packages->Package from APT->Search APT намираме пакета Shorewall и го инсталираме. Пакета Shorewall6 е за връзки по ipv6 протокола!
Сега ще пуснем и интернета към втората лан карта като редактираме конфиг файла sysctl.conf с текст едитора, който се намира тук sysctl.conf!
Намираме реда
Цитат
#net.ipv4.ip_forward=1
и премахваме коментара(#) пред него.
Докато сме тук, можем и перманентно да забраним ipv6 протокола, като добавим тези 3 реда най-отдолу:
Цитат
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Сега вече рестартираме сървъра и след рестарта ще се заемем с настройката на Shorewall за рутер.

Намираме в Уебмин менюто/модула Shoreline Firewall. Фаеруола няма да е стартиран, докато не се настрои! Всяко меню има освен графични настройки и директно редактиране на конфиг файла. Сега за по-бързо и лесно ще редактираме директно конфиг файловете, а после, когато я подкараме ще разглеждаме функционалностите.
Отваряме първо менюто Network Zones и от менюто за ръчно редактиране вкарваме тези стойности:
Цитат
#ZONE   TYPE             OPTIONS
fw      firewall
wan     ipv4
lan       ipv4
Името fw е резервирано за системата и с него се обозначава зоната firewall !!!!!
wan е нашия външен интерфейс, а lan е нашата локална вътрешна мрежа. Сейфваме, затваряме и се връщаме в началното меню.
Отваряме менюто Network Interfaces и по същия начин чрез ръчно редактиране го настройваме и него, като поставяме тези стойности:
Цитат
#ZONE    INTERFACE      OPTIONS
wan      ens32
lan        ens33
Ако нашите интерфейси са с друго обозначение, слагаме съответния интерфейс срещу съответната зона, сейв и се връщаме в основното меню.
Отиваме в менюто Default Policies и ще настроим пОлисите пак чрез ръчно редактиране на конфига.
Цитат
lan   all   ACCEPT
fw   all   ACCEPT
wan   all   DROP   info
all   all   REJECT   info
Masquerading :
Цитат
ens32   192.168.1.0/24     "вашетовъншноИП"
ens32 е вашия външен интерфейс, който, ако е с друго означение ще го промените!
На мястото на "вашетовъншноИП" ще впишете вашето реално външно ИП, но без кавичките.
192.168.1.0/24 е вашата вътрешна мрежа, която, ако сте я направили да не 192.168.1.1 или 192.168.1.2, а 192.168.0.1 или 192.168.0.2 ще поправите на 192.168.0.0/24


Остана сега да окажем какво да пуска рутера от вън на вътре и какво да не пуска, а също така и да блокираме връзки от вътре на вън и да пренасочим портове от вън на вътрешни ИП-та

Отваряме менюто Firewall Rules и за сега пак чрез ръчно редактиране ще поставим първите някои неща, а после вече, ще се разглежда кое какво е!
Цитат
#Accessible Links
ACCEPT   all   fw   tcp   21,22,25,80,110,143,443,465,993,995
ACCEPT   all   fw   tcp   10000,20000

#Blok IP
DROP   lan   wan:212.68.132.104/29   all

#Port Forwarding
DNAT   wan   lan:192.168.1.89:3389   tcp   3389

За по-добра прегледност кое какво е и за да ми са групирани горе-долу нещата съм ги разделил на секции:

Цитат
ACCEPT   all   fw   tcp   21,22,25,80,110,143,443,465,993,995
ACCEPT   all   fw   tcp   10000,20000
  ---- Това са отворените портове от вън на вътре за връзка със сървъра. Може всеки порт да се сложи на отделно и да се отваря и затваря самостоятелно, а могат и да се изброят в един ред всички портове, които да са достъпни от вън. В моя случай съм разделил портовете нужни за различните външни ресурси към сървъра на един ред, а на втори ред отделени портовете за управление на сървъра на Уебмин:10000 и Юзермин:20000. По този начин едната група портове може да се спира отделно от другата.

Цитат
#Blok IP
DROP   lan   wan:212.68.132.104/29   all
------ Това един рейндж от ИП-та, които съм ги блокирал една програма(по обясними причини) да не се свързва със сървъра. По този начин могат да се добавят и други блокирани връзки.

Цитат
#Port Forwarding
DNAT   wan   lan:192.168.1.89:3389   tcp   3389
------- Това е пренасочване на външна връзка към вътрешно ИП. В случая, порт 3389 от вън за рдп е пренасочен към вътрешен адрес 192.168.1.89:3389. Може примерно и друг порт от вън да се пренасочи с редирект към вътрешен 192.168.1.89:3389 .

Сега вече, ще пробваме дали всичко сме направили правилно и да стартираме Фаерула!

Отиваме на бутона "Check Firewall" в началното меню и, ако сме настроили както трябва системата, трябва да се изпише надписа: .. your firewall configuration looks OK. и можем да стартираме фаеруола и да чакаме интернета от него :) . Ако изпише някаква грешка - започваме отново да се търсим грешката :) .

Ако всичко е нормално, стартира и има и-нет, трябва да я направим да се стартира автоматично със стартиране на системата. Това става от модула System->Bootup and Shutdown , намираме процеса Shorewall.... и го правим автоматично стартиращ.

Сега вече, като имаме и-нет в локалната мрежа, можем вече дистанционно да си настройваме DHCP сървъра и другите ни  нужни неща.

П.С. Отворете файла Master configuration file от главното меню. Отворете менюто LOGFILE и редактирайте Value на: /var/log/syslog за да заработи менюто "Show Dump"
« Последна редакция: Юли 30, 2017, 17:30 от backinblack »
Активен

backinblack

  • Участник
  • *****
  • Публикации: 3201
    • Профил
Някой тук ще каже, ама защо Шореуол, а не Айпи таблиците, като и за тях също си има модул за уебмин!?
Да, става и с айпи таблиците, но тяхното предназначение не е за тази работа! Всякакви видове рутирания могат да се нагласят и с ИП таблиците, но, по принцип тяхното предназначение е за защитна стена на самостоятелна машина, а Шореуол е специализирано решение за рутер зад който да има мрежа от компютри. Има функционалности за ВПН, за управление на няколко доставчика на и-нет и други такива присъщи фичъри за специализираните рутери.
Активен

jet

  • Участник
  • *****
  • Публикации: 1757
  • Distribution: debian sid
  • Window Manager: kde
    • Профил
Някой тук ще каже, ама защо Шореуол, а не Айпи таблиците, като и за тях също си има модул за уебмин!?
Да, става и с айпи таблиците, но тяхното предназначение не е за тази работа!
Разбираме, че си си харесал Шореуол-а, но той не използва някаква космическа технология, а си е един от многото фронт-енди към iptables. Това си го пише и в документацията му.
Активен

Linux: From WTF to OMG