Перешли провайдеры на днях, они только назначают DSlite-соединения. Я в порядке, подумал я. Дело в том, что я хочу получить доступ к некоторым своим материалам из-за пределов моей сети, что должно быть намного проще, так как теперь у меня есть собственный IPv6.
Моя новая главная проблема заключалась в том, что я не могу предположить, что это будет везде, где я бродю, поэтому большую часть времени я буду пытаться получить доступ с точки входа только для IPv4. Обнаружил, что $ socat
был моим другом, так как я могу получить доступ к одному устройству с настоящим соединением с двумя стеками - поэтому получить доступ к моему IPv6 через соединение только по IPv4 так же просто, как запустить $ socat UDP4-LISTEN:sourceport,fork,su=nobody UDP6:my-ipv6-hostname-behind.cgn:targetport
на машине с двойным стеком и затем подключаться к my-dualstack-hostna.me:sourceport
извне.
Теперь $ netstat -tulpen | grep sourceport
на машине с двумя стеками выдает только UDP4-прослушиватель - поэтому моя текущая проблема:
- Для доступа через IPv6-соединение требуется, чтобы я подключился к
my-ipv6-hostname-behind.cgn:targetport
- Для доступа через IPv4-соединение требуется подключение к
my-dualstack-hostna.me:sourceport
- Доступ из DS(-lite) соединения позволяет мне использовать оба, но предпочтительно использовать прямой IPv6-маршрут
Поэтому было бы здорово иметь возможность использовать my-dualstack-hostna.me:sourceport
для подключений как IPv4, так и IPv6, а не обновлять конфигурацию root при каждом перемещении моего ноутбука или телефона!
Как заставить socat
слушать оба? Должен быть способ! $ netstat -tulpen | grep ":22"
на DS-машине показывает следующее:
tcp 0 0 0.0.0.0:22 […]
tcp6 0 0 :::22 […]