Повреждение памяти — это ошибка программирования, которой не должно быть. Вы не должны выполнять явное выделение памяти и управление (malloc/free в C )в Java, JVM позаботится обо всем этом за вас.
Таким образом, если вы не добавили какие-либо пользовательские (родные )библиотеки в свою среду Java, проблема заключается в самой JVM, и вы должны заполнить отчет об ошибке, где это уместно (https://launchpad.net/, если ваша JVM является распространяемой. с Ubuntu ).
Как описано здесь , вы должны иметь возможность использовать iptables для перенаправления трафика с порта в одном интерфейсе на какой-то другой IP-адрес, который может находиться на другом интерфейсе. Просто имейте в виду, что вам может потребоваться настроить сервер OpenVPN так, чтобы ваш локальный сервер всегда выдавал один и тот же IP-адрес, что вы можете узнать, как это сделать здесь .
В сущности,
sudo sysctl net.ipv4.ip_forward=1
10.0.0.1
и внешний интерфейс вашего сервера — eth0
, переадресуйте соединения с порта 80 извне на ваш IP-адрес VPN и разрешите ему отвечать:iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 10.0.0.1:80
iptables -A FORWARD -p tcp -d 10.0.0.1 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Для устранения проблем с подключением tcpdump
— ваш друг, как в:
# Print all packets on port 80 that pass through the eth0 interface
sudo tcpdump -ni eth0 port 80
Обратите внимание, что в качестве общей рекомендации следует всегда использовать шифрование, поскольку по умолчанию для включения HTTPS также требуется порт 443.