1

У меня локальная машина работает как веб-сервер, ее IP-адрес 192.168.1.xxx. На моем маршрутизаторе ADSL я создал порт перенаправления "NAT" на эту машину, он работает нормально, но зарегистрированные IP-адреса посетителей из Интернета на моем веб-сервере всегда назначаются моим общедоступным IP-адресам, а не их IP-адресам.

Я попытался создать DMZ для IP-адреса локального сервера и изменить настройки NAT с ADSL на NAPT на Full Cone NAT.

Обновление 1:

Веб-сервер Apache на Ubuntu 16.04, и я использую следующий код для отслеживания IP-адреса пользователя:

public function handle(Login $event)
    {
        //Perform login tracking
        $log = new Loginlog();
        $log->created_at = date('Y-m-d H:i:s');
        $log->user_id = \Auth::user()->id;
        $log->ip = $_SERVER['REMOTE_ADDR'];
        if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
            $ip = $_SERVER['HTTP_CLIENT_IP'];
        } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
        } else {
            $ip = $_SERVER['REMOTE_ADDR'];
        }
        $log->est_ip = $ip;
        $log->save();
        $nowDate = \Carbon\Carbon::createFromFormat('Y-m-d H:i:s',date('Y-m-d H:i:s'));        
        $deletedRows = \App\Loginlog::where('created_at','<', $nowDate->subDays(config('fox.clearBeforeDays')))->delete();
        // dd(\Auth::user()->id,$_SERVER['REMOTE_ADDR']);

    }

Обновление 2:

После удаления всех ролей NAT, показанных на втором снимке экрана, и сохранения только DMZ, показанного на третьем снимке экрана, приведенный выше код PHP успешно перехватил IP-адрес клиента правильно!

Вопрос: что не так в NAT, который мешал серверу или, по крайней мере, скрипту, выполняющемуся на нем, перехватывать IP-адрес клиента, в то время как DMZ это только разрешал. Проблема с использованием DMZ в том, что порты машины моего сервера открыты для всего входящего интернет-трафика!

Ниже приведены снимки экрана конфигурации моего маршрутизатора:

1 ответ1

1

Вам следует избегать DMZ, так как это слишком рискованно, так как у всех в Интернете есть прямой доступ ко всем вашим портам.

Вам следует использовать переадресацию портов.

Смотрите статью по переадресации портов:
Простые инструкции по настройке переадресации портов на маршрутизаторе Huawei HG531 V1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .