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"