Как разместить веб-сайт интранет, недоступный вне LAN?

Хорошо. Если Вы еще не получили решение, попробуйте ниже:

sudo system-config-samba

Это даст Вам gui как:

enter image description here

enter image description here

enter image description here

enter image description here

установите 'предпочтительный' флажок (настройки Samba и пользователи самбы). Можно добавить, что доля из Файла-> добавляет долю

Кроме того, если все еще проблема существует затем, можно также попытаться отредактировать/etc/samba/smb.conf файл как ниже, я предполагаю, который может решить проблему:

usershare allow guests = yes
security = user
guest ok = yes
guest account = exampleuser 
username map = /etc/samba/smbusers


# added
[share]
path = /mnt/storage/share
valid users = myshareuser
read only = No
guest ok = yes
browseable = yes

[backup]
path = /mnt/storage/backup
valid users = myshareuser
read only = No
guest ok = yes
browseable = yes

Затем выполнитесь ниже команд:

sudo chmdo 777 /mnt/storage/share /mnt/storage/backup
sudo stop smbd
sudo start smbd

Теперь проверьте, работает ли доля :D

Для интерактивного пользователя authetication следующее может работать

Добавьте пользователя в системе и дайте пароль

sudo adduser testsamba

Добавьте пользователя к Samba и сохраните пробел пароля при выяснении здесь снова

sudo smbpasswd -a testsamba

Отобразите пользователя Windows

sudo vi /etc/samba/smbusers

файл должен содержать как ниже:

testsamba = windowsuserSample

Реализуйте необходимую конфигурацию с GUI как прежде

sudo system-config-samba

сервис самбы перезапуска

sudo service smbd restart
3
25.08.2018, 21:39
3 ответа

Какие средства управления, имеют ли другие компьютеры доступ к серверу, работающему на Вашем компьютере, не являются именем: это - вопрос удобства только. Если Вы хотите сделать свой компьютер или по крайней мере Ваш веб-сервер, недоступный вне LAN, необходимо принять меры для блокирования его на уровне HTTP или IP.

Возможно, что Ваш администратор LAN уже блокирует входящие соединения с веб-серверами в LAN, в этом случае Вам нечего делать. Но Вы могли бы хотеть настроить фильтр на своей машине так или иначе на всякий случай.

Если Вы не хотите служить веб-трафику вне LAN, блок, поступающий веб-трафик на уровне IP. Используйте iptables для этого, или некоторый более высокий уровень оборудует, который устанавливает правила iptables, такие как ufw. Для блокирования всего входящего HTTP и Трафика HTTPS порты TCP блока 80 и 443, принимая LAN соответствуют диапазону адресов 203.0.113.0/24 (т.е. 203.0.113.*):

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 80,443 -s \!203.0.113.0/24 -j REJECT

Вы могли бы также заблокировать все входящие порты кроме тех, Вы знаете, что Вам нужно. Например, чтобы позволить только поступить запросы SSH, а также входящий трафик от LAN и исключать весь другой входящий трафик:

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -p tcp --dport http,https -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -j REJECT

См. также там стандартный способ настроить то, что политика iptables загружает на запуске под Debian?, iptables: позвольте определенному дюйм/с и блоку все другое соединение и Набор некоторые порты брандмауэра, чтобы только принять соединения локальной сети?.

Если Вы хотите позволить веб-подключения к своей машине откуда-либо, но позволить определенному виртуальному хосту, который будет достигнут только от LAN, необходимо будет сделать фильтрацию на уровне сервера Apache (я предполагаю, что Вы используете Apache). Это сделано в virtualhost конфигурационном файле или в a .htaccess файл, с Позволением и Отклоняет директивы.

Order deny,allow
Deny from all
Allow from 203.0.113.0/24

При превращении к имени, если Вы хотите дать имя без точки своему серверу, этому нужно сотрудничество клиентских машин. Но можно дать глобально допустимое имя серверу. Это абсолютно независимо от того, может ли Ваш сервер быть достигнут отовсюду. То, в чем Вы нуждаетесь, является записью DNS для Вашей машины. Можно купить доменное имя и основной сервис DNS на него приблизительно за $10/лет, таким образом, IP-адрес машины был бы зарегистрирован на имени как www.spartanblogger.net. Не имеет значения, если Ваш IP-адрес находится в частном диапазоне такой как 10.x.y.z или 192.168.x.y. Если IP-адрес Вашей машины будет варьироваться, то Вам будет нужен поставщик, который поддерживает Динамический DNS. Для единственного адреса для персонального использования, если Вы не возражаете не иметь своего собственного доменного имени, можно использовать бесплатный сервис, такой как DynDNS (является ли IP-адрес на самом деле динамичным или не); можно выбрать имя как spartanblogger.dyndns.org.

1
27.01.2020, 21:20

Если Вы не имеете никакого контроля над сетью вообще, и также никакое управление клиентскими компьютерами и Вашим сервером не доступно снаружи, я боюсь это не возможный. Предположите, что это было бы, что будет препятствовать тому, чтобы Вы перенаправили Google или stackexchange к Вашему серверу?

Что можно сделать, должен попросить администратор создавать запись DNS для abcd указать на Ваш IP-адрес. Затем все, в чем Вы нуждаетесь, является веб-сервером, слушающим на стандартных портах. Если он отказывается от всего, что можно сделать, доступ веб-сервер через IP-адрес вместо имени хоста.

3
27.01.2020, 21:20

В Вашем вопросе Вы не сделали непосредственно упомянутый, что Вы хотите использовать доменное имя или просто IP доступ. Поскольку с прямым IP доступом его возможное, чтобы сделать это, что Вы хотите, иначе не так тривиальный (см. в комментариях).

Просто проверьте свой IP с: ifconfig затем Ваш колледж (если они находятся в той же сети) видит то, что Вы представляете канавку nginx путем ввода адреса IP в браузер. Однако снаружи этого не будет доступно, потому что маршрутизатор не передаст запросы снаружи сети Вам компьютер. (Если Вы wan't это, хотя можно добавить вперед правило в конфигурацию маршрутизатора),

Не уверенный, что находится в значении по умолчанию nginx файл конфигурации, но такая простая конфигурация, я ввожу здесь ведьму, которую можно добавить к файлу конфигурации ( /etc/nginx/nginx.conf ):

server {
  listen       80;
  server_name  _;
  # path to your folder what you want to render
  root   /usr/share/nginx/html;
  index index.php index.htm index.html;
}

Однако важно, чтобы у пользователя, который выполняет nginx, было разрешение считать ту корневую папку. Можно проверить то, с чем пользователь является nginx, использующим: ps aux | egrep nginx, и набор это в Вашей конфигурации с директивой: user nginx;

На официальном сайте конфигурации можно читать больше!

Когда Вы получаете доступ к своему компьютеру колледжей, Вы могли однако вставить пользовательский домен для указания на машине путем редактирования файла hosts на theire машине под /etc/hosts:

<your_ip> something.com
0
27.01.2020, 21:20
  • 1
    Я думаю строка http://abcd (no .com, .net, etc.) ясно доступ состояний через имя хоста и не IP-адрес. –  Marco 15.10.2012, 13:17
  • 2
    @burninggramma у меня есть полный доступ к серверу, работающему nginx, но не к серверу DNS на LAN. И как Макрос, на который указывают, я хочу использовать 'abcd', не IP-адрес. –  Spartanblogger 15.10.2012, 14:30

Теги

Похожие вопросы