пристанище спедиция през портала в Linux IPTABLES
Като сървъри в сигурни центрове за данни в Европа. Open облак VPS / VDS сървър на бърз SSD за 1 минута!
Най-добър уеб хостинг:
- ще предпазят данните от неоторизиран достъп в защитена Европейския център за данни
- ще плати най-малко в Bitcoin.
- Той ще постави вашата дистрибуция
- защита от DDoS-атаки
- безплатно архивиране
- Uptime 99,9999%
- DPC - TIER III
- ISP - етап I
Подкрепа в руските 24/7/365 работи с юридически и физически лица. Сега трябва 24 ядро и 72 Gb RAM. Моля ви!
Нашите конкурентни цени доказват, че най-евтиният хостинг, че не знаеш!
За броени минути, изберете конфигурация, заплати и CMS на VPS е готова.
Връщане на парите - за 30 дни!
Банкови карти, електронни валута през QIWI терминали, Webmoney, PayPal, Novoplat и други.
Задайте въпрос 24/7/365 поддръжка
Намерете отговорите в нашата база данни, както и да отговарят на препоръките на
Оферта от 8host.com
Това ръководство ви помага да конфигурирате IPTABLES за пренасочване на пристанището, за да хостове посредством NAT технология. Тази настройка позволява да се предотврати трафика към частната мрежа, през шлюз.
изисквания
За да работите ще ви трябва:
- Ubuntu 14.04 две домакини в същия център за данни с възможност за частна мрежа.
- Потребител с достъп до Sudo на всеки хост.
Първият домакин ще бъде използвана като защитна стена и рутер дял частна мрежа. Вторият домакин ще действа като уеб сървър, който е достъпен само чрез частен интерфейс. Първият домакин ще предава искането за отваряне на уеб сървъра интерфейс, а след това те ще дойдат да личния му интерфейс.
Тези домакини
IP -4 вр шоу обхват глобалната
2: eth0.
Инет 198.51.100.45 / 18 BRD 45.55.191.255 обхват глобалната eth0
valid_lft завинаги preferred_lft завинаги
3: eth1.
Инет 192.168.1.5 / 16 BRD 10.132.255.255 обхват глобалната eth1
valid_lft завинаги preferred_lft завинаги
IP маршрут шоу | Впиши подразбиране
подразбиране чрез 111.111.111.111 Дев eth0
Командата показва интерфейса, свързан към шлюза по подразбиране (в този пример, eth0). Обикновено това е отворен интерфейс.
Намерете тези стойности за всяка машина и да ги използват в бъдещата работа.
Условно за управление на данни
За пример в ръководството, домакини конвенции данни. Моля, по време на работа, сменете ги с техните данни.
- Външна IP: 203.0.113.2
- Вътрешен IP: 192.0.2.2
- Open интерфейс: eth0
- Лично Интерфейс: eth1
- Външна IP: 203.0.113.15
- Вътрешен IP: 192.0.2.15
- Open интерфейс: eth0
- Лично Интерфейс: eth1
Конфигуриране на уеб сървър
Инсталиране на Nginx
Първо трябва да инсталирате Nginx и да го настроите да слушате затворения интерфейс. Тъй като уеб сървър е достъпна само ако правилната настройка спедиция порт.
Актуализиране на индекса на пакета, и инсталиране на пакета:
Sudo актуализация ап-да
ап-да инсталирате Nginx
Конфигуриране на Nginx
Отваряне на виртуален хост подразбиране:
Sudo нано / и т.н. / Nginx / сайтове с активирани / по подразбиране
В него се намери директивата слушате:
сървъра слуша 80 default_server;
слушат [::]: 80 default_server ipv6only = включено;
.
>
Файлът се среща два пъти. На първо слушане директива трябва да определи вътрешния IP Web сървъра и задайте порт 80.
Това ръководство е предназначено само за IPv4, тъй като втората директива да слуша, да IPv6, можете просто да го изтриете.
сървъра слуша 192.0.2.2:80 default_server;
.
>
Запазване и затворете файла. Проверете синтаксиса за грешки:
Ако няма грешки, рестартирайте Nginx:
Sudo услуга Nginx рестартиране
Проверете Nginx конфигурация
Сега трябва да се уверите, че Nginx е достъпна само на частен интерфейс.
Отиди на сървъра на защитна стена и се опитайте да получите достъп до личната зона на интерфейса на уеб сървър:
извиване --connect-изчакване 5 192.0.2.2
.
Опитайте се да използвате отворен интерфейс:
свие --connect-изчакване 5 203.0.113.2
извиване: (7) не можа да се свърже с 203.0.113.2 порт 80: Свързване отказа
Създаване спедиция
Щракнете върху Защитна стена на сървъра.
Разрешаването на препращане в ядрото
Първо трябва да се даде възможност за препращане на ниво ядро. По подразбиране тази функция е деактивирана в повечето системи.
За да се даде възможност за препращане за една сесия, въведете:
ехо 1 | Sudo чай / ргос / сис / нето / ipv4 / ip_forward
За да се даде възможност за препращане на регулярна основа, трябва да редактирате файла /etc/sysctl.conf.
Sudo нано /etc/sysctl.conf
Запазете и затворете файла и след това да актуализирате настройките:
Sudo Sysctl -p
Sudo Sysctl --system
Настройка на защитната стена
- Инсталирайте IPTABLES-устойчиви.
- Запазване на набор от правила, по подразбиране в /etc/iptables/rules.v4.
- Научете как да добавяте и редактирате правилата на защитната стена.
След конфигуриране на защитната стена, можете да добавите правило за пренасочване на порт.
правила за пренасочване
Така че, сега трябва да конфигурирате вашата защитна стена, така че трафика към порт 80 отворен интерфейс eth0, пренасочени към частния интерфейс eth1.
Според основната конфигурация на защитна стена, верига НАПРЕД нулира (DROP) трафик по подразбиране. Сега трябва да добавите правило, че ще пренасочи връзката към уеб сървъра. Препоръчително е да се ограничи само до необходимите връзки и остатъчния пакет.
НАПРЕД верига ще приеме нови връзки, предназначени за порт 80 и получени от публичния интерфейс, и да ги прехвърли на частния интерфейс. Новите съединения се намират за разширяване на conntrack и TCP SYN пакет.
Sudo IPTABLES -A FORWARD -i eth0 -o eth1 -p TCP --syn --dport 80 -m conntrack --ctstate NEW -j ACCEPT
Това правило ще пропусне през защитна стена първия пакет, който е предназначен за създаване на връзка. Необходимо е също така да се даде възможност всяко следващо движение и в двете посоки, като резултат от тази връзка. За да се даде възможност на трафика между отворен и затворен интерфейс (СЪЗДАДЕН, свързани), въведете:
IPTABLES -A FORWARD -i eth0 -o eth1 -m conntrack --ctstate установена, СВЪРЗАНИ -j ACCEPT
IPTABLES -A FORWARD -i eth1 -o eth0 -m conntrack --ctstate установена, СВЪРЗАНИ -j ACCEPT
Ако НАПРЕД веригата използва различна политика по подразбиране, задайте го пуснете политика:
Sudo IPTABLES -P FORWARD DROP
Сега защитната стена позволяват трафик между отворен и затворен интерфейс. Въпреки това, докато IPTABLES не знае как точно да се насочи този трафик.
NAT правила
Сега трябва да добавите правила IPTABLES за маршрут на трафика. За да можете да модифицирате правилно IPTABLES пакети и подкрепа комуникация между клиенти и уеб сървъра, трябва да извършите две операции.
Sudo IPTABLES -t NAT -A PREROUTING -i eth0 -p TCP --dport 80 -j DNAT --to-дестинация 192.0.2.2
За да направите това, вие трябва да добавите правило за веригата на POSTROUTING в NAT масата. Това се отчита директно пред изпращане на пакети по мрежата.
Sudo IPTABLES -t NAT -А POSTROUTING -о eth1 -p TCP --dport 80 -d 192.0.2.2 -j SNAT --to-източник 192.0.2.15
извиване 203.0.113.15
.
Пренасочване на портове конфигуриран.
Запазване на права
С добавянето на правила за пренасочване на порт, ще трябва да ги държи в набор от постоянни правила на защитната стена.
SUDO услуги IPTABLES-устойчиви спасяване
Sudo нано /etc/iptables/rules.v4
Edit маса филтър конфигурация в НАПРЕД верига. Можете също така трябва да редактирате NAT на маса, който искате да добавите правила PREROUTING и POSTROUTING. В този случай, тези правила ще изглеждат по следния начин:
* филтър
# Да се разрешат всички изходящи, но да игнорират входящите и спедиторски пакети по подразбиране
: INPUT DROP [0: 0]
: НАПРЕД DROP [0: 0]
: Изходен ПРИЕМА [0: 0]
# Персонализирани вериги по протокол
: UDP - [0: 0]
: TCP - [0: 0]
: ICMP - [0: 0]
# Приемливо UDP трафик
# Приемливо TCP трафик
-А TCP -p TCP -j ACCEPT --dport 22
# Приемливо ICMP трафик
# BOILERPLATE политика приемане
-А INPUT -m conntrack --ctstate, създадени, СВЪРЗАНИ -j ACCEPT
-А INPUT -i ето -j ACCEPT
# падащо невалидни пакети
-А INPUT -m conntrack --ctstate НЕВАЛИДЕН -j DROP
# Pass трафик към специфичните за протокола вериги
## Разрешаване само на нови връзки (създадена и свързаното вече трябва да се работи)
## За TCP, допълнително да разрешат само нови SYN пакети, тъй като това е единственият валиден
## метод за създаване на нова връзка TCP
-А INPUT -p UDP -м conntrack --ctstate NEW -j UDP
-А INPUT -p TCP --syn -м conntrack --ctstate NEW -j TCP
-А INPUT -p ICMP -м conntrack --ctstate NEW -j ICMP
# Отхвърляне на нещата, които пропаднала до този момент
## опита да бъде протокол специфични w / съобщение отхвърляне
-Вход -р UDP -j REJECT --reject-с ICMP-порт-недостъпен
-А INPUT -p TCP -j REJECT --reject-с TCP-нулиране
-А INPUT -j REJECT --reject-с ICMP-пра-недостижими
# Правила за препращат порт 80 към нашия уеб сървър
# уеб сървър в мрежата подробности:
# * Public IP адрес: 203.0.113.2
# * Private IP Address: 192.0.2.2
# * Публична Интерфейс: eth0
# * Private Интерфейс: eth1
#
# Firewall подробности за мрежата:
#
# * Public IP адрес: 203.0.113.15
# * Private IP Address: 192.0.2.15
# * Публична Интерфейс: eth0
# * Private Интерфейс: eth1
-А НАПРЕД -i eth0 -o eth1 -p TCP --syn --dport 80 -m conntrack --ctstate NEW -j ACCEPT
-А НАПРЕД -i eth0 -o eth1 -m conntrack --ctstate установена, СВЪРЗАНИ -j ACCEPT
-А НАПРЕД -i eth1 -o eth0 -m conntrack --ctstate установена, СВЪРЗАНИ -j ACCEPT
# Край на Forward правила за филтриране
# Ангажиране на промените
COMMIT
* сурова
: PREROUTING ПРИЕМА [0: 0]
: Изходен ПРИЕМА [0: 0]
COMMIT
* NAT
: PREROUTING ПРИЕМА [0: 0]
: INPUT ACCEPT [0: 0]
: Изходен ПРИЕМА [0: 0]
: POSTROUTING ПРИЕМА [0: 0]
# Правилата за превод на заявките за порт 80 на публичния интерфейс
# За да можем да предаде правилно на уеб сървъра, с помощта на
# Private интерфейс.
# уеб сървър в мрежата подробности:
# * Public IP адрес: 203.0.113.2
# * Private IP Address: 192.0.2.2
# * Публична Интерфейс: eth0
# * Private Интерфейс: eth1
#
# Firewall подробности за мрежата:
#
# * Public IP адрес: 203.0.113.15
# * Private IP Address: 192.0.2.15
# * Публична Интерфейс: eth0
# * Private Интерфейс: eth1
-А PREROUTING -i eth0 -p TCP --dport 80 -j DNAT --to-дестинация 192.0.2.2
-А POSTROUTING -d 192.0.2.2 -о eth1 -p TCP --dport 80 -j SNAT --to-източник 192.0.2.15
# Край на NAT преводи за уеб сървър трафик
COMMIT
* сигурност
: INPUT ACCEPT [0: 0]
: НАПРЕД ПРИЕМА [0: 0]
: Изходен ПРИЕМА [0: 0]
COMMIT
* маш
: PREROUTING ПРИЕМА [0: 0]
: INPUT ACCEPT [0: 0]
: НАПРЕД ПРИЕМА [0: 0]
: Изходен ПРИЕМА [0: 0]
: POSTROUTING ПРИЕМА [0: 0]
COMMIT
Запазване и затворете файла.
Проверка за грешки във файла:
SUDO IPTABLES-възстановят -t
Ако няма грешки, актуализира списъка с правила:
SUDO услуги IPTABLES-устойчиви презареждане
заключение
Сега пренасочване на порт с IPTABLES задали. Тази технология ни позволява да премине трафик през защитна стена врата, като същевременно прикриват с мрежовите технологии.