Назад | Перейти на главную страницу

OpenVZ Host - это исходный IP-адрес, а не реальные веб-пользователи?

У меня проблема с моим VPS. Простой пример:

<?php $ip = $_SERVER['REMOTE_ADDR']; 
Echo "User IP : " . $ip; 
?>

Этот код должен отображать IP-адрес пользователя, но он показывает IP-адрес HN (а не IP-адрес VPS).

Опять же, когда я регистрируюсь через ssh в виртуальном контейнере, IP, который был зарегистрирован, является IP-адресом аппаратного узла.

Аналогичная проблема здесь: OpenVZ Host - это исходный IP-адрес, а не реальные веб-пользователи?

Вот конфигурация openVZ:

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1

# Controls source route verification
net.ipv4.conf.all.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 1

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
# Disable proxy arp
net.ipv4.conf.default.proxy_arp = 0
# We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.ip_conntrack_max=32760

Конфигурация IPTables

[root@nod1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  anywhere             anywhere
           all  --  clienti.alba.rdsnet.ro  anywhere
           all  --  anywhere             clienti.alba.rdsnet.ro
           all  --  clienti.alba.rdsnet.ro  anywhere
           all  --  anywhere             clienti.alba.rdsnet.ro
           all  --  clienti.alba.rdsnet.ro  anywhere
           all  --  anywhere             clienti.alba.rdsnet.ro

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     esp  --  anywhere             anywhere
ACCEPT     ah   --  anywhere             anywhere
ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTAB                                                                     LISHED
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:s                                                                     sh
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:s                                                                     mtp
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:h                                                                     ttp
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:f                                                                     tp
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:h                                                                     ttps
REJECT     all  --  anywhere             anywhere            reject-with icmp-ho      

Кто-нибудь может мне помочь? Кроме того, я не эксперт, поэтому, если кто-то может объяснить шаг за шагом, я был бы очень признателен.

Хорошо, вот что я сделал. Я остановил службу iptables и удалил раздел с mangle и nat из / etc / sysconfig / iptables. В соответствии с инструкциями Адама я удалил «iptable_mangle» из файла / etc / sysconfig / vz в строчном разделе «## IPv4 iptables kernel modules». Я сделал:

iptables -t nat -L iptables -t mangle -L

Я перезапустил службу iptables, и проблема решена.

Теперь я могу записать свой частный IP в журнал сервера: D

Многие благодарят Адама за указание на калечить и нац.

Удачи!

Скорее всего, у вас есть устройство обратной связи на всех ваших машинах VPS, поэтому попробуйте удалить его из общей конфигурации или в целях тестирования получить доступ к VPS и введите:

ifconfig вниз

еще раз проверьте исходящий IP.

С уважением, Божев

Не могли бы вы вставить вывод вашей конфигурации iptables? Вы пробовали то, что предложил Джерри Тунин в качестве потенциального решения?

iptables -t nat -L
iptables -t mangle -L

У вас есть прокси-сервер в вашем HN, который отправляет запрос на сервер в CT?

Если это ваш случай, вы должны указать своему прокси-серверу перенаправить IP-адрес клиента на ваш CT-сервер, а затем прочитать заголовок X-Forwarding-For.