Владислав (ra1aie) wrote,
Владислав
ra1aie

Подключение Playstation 4 через Juniper SRX

Упомянутая приставка в общем-то может работать с любым подключением к интернету. Но для многих онлайн функций, как и для более стабильного функционирования PSN, ей нужнен либо UPnP (который в Juniper отсутствует by design, ибо это маршрутизаторы Enterprise класса), либо достаточно хитрожопые настройки NAT и наличие статического внешнего IP на маршрутизаторе. Настраивается эта конструкция следующим образом:

Для начала задаем правило Source NAT, отключая оверлоадинг портов (PAT) для PS4. Важно: это правило должно быть указано до любых других правил Source NAT. 1.2.3.4 здесь - наш внешний статический адрес, 192.168.0.107 - внутренний адрес PS4:
security {
     nat {
        source {
            pool PS4-NAT {
                address {
                    1.2.3.4/32 to 1.2.3.4/32;
                }
                port {
                    no-translation;
                }
            }
            rule-set nat-ps4 {
                from zone trust;
                to zone untrust;
                rule ps4-nat-rule {
                    match {
                        source-address 192.168.0.107;
                    }
                    then {
                        source-nat {
                            pool {
                                PS4-NAT;
                            }
                        }
                    }
                }
         }
}
Теперь пробрасываем на нашу PS4 порты, необходимые для работы PSN. На данном этапе будет разумно убрать приставку в изолированный VLAN, но заострять внимание на этом моменте я не буду. Нам потребуется настроить проброс следующих портов: 80, 443 - TCP, 3478, 3479, 3480 - TCP и UDP.
security {
     nat {
        destination {
            pool PS4 {
                address 192.168.0.107/32;
            }
            rule-set PortMap-PS4 {
                from zone untrust;
                rule PS4-TCP-80 {
                    match {
                        source-address 0.0.0.0/0;
                        destination-port 80;
                        protocol tcp;
                    }
                    then {
                        destination-nat {
                            pool {
                                PS4;
                            }
                        }
                    }
                }
                rule PS4-TCP-443 {
                    match {
                        source-address 0.0.0.0/0;
                        destination-port 443;
                        protocol tcp;
                    }
                    then {
                        destination-nat {
                            pool {
                                PS4;
                            }
                        }
                    }
                }
                rule PS4-3478 {
                    match {
                        source-address 0.0.0.0/0;
                        destination-port 3478;
                        protocol [ tcp udp ];
                    }
                    then {
                        destination-nat {
                            pool {
                                PS4;
                            }
                        }
                    }
                }
                rule PS4-3479 {
                    match {
                        source-address 0.0.0.0/0;
                        destination-port 3479;
                        protocol [ tcp udp ];
                    }
                    then {
                        destination-nat {
                            pool {
                                PS4;
                            }
                        }
                    }
                }
                rule PS4-3480 {
                    match {
                        source-address 0.0.0.0/0;
                        destination-port 3480;
                        protocol [ tcp udp ];
                    }
                    then {
                        destination-nat {
                            pool {
                                PS4;
                            }
                        }
                    }
                }
            }
        }
    }
}
Не забываем разрешить прохождение трафика к PlayStation. Проще всего это сделать, задав Applications:
applications {
    application PLAYSTATION-80 {
        protocol tcp;
        destination-port 80;
    }
    application PLAYSTATION-443 {
        protocol tcp;
        destination-port 443;
    }
    application PLAYSTATION-3478-3480 {
        destination-port 3478-3480;
    }
    application-set PSN {
        application PLAYSTATION-80;
        application PLAYSTATION-443;
        application PLAYSTATION-3478-3480;
    }
}
security {
     address-book {
        global {
            address PS4 192.168.0.107;
        }
     }
     policies {
        from-zone untrust to-zone trust {
            policy wan-to-ps4 {
                match {
                    source-address any;
                    destination-address ps4;
                    application PSN;
                }
                then {
                    permit;
                }
            }
        }
    }
}
Профит. Если все сделано правильно, то наша PS4 порадует нас надписью "NAT Type 2" - это по терминологии Sony как раз и означает, что PSN "видит" приставку:

Если же она показывает "NAT Type 3" - это значит, что что-то не так с настройками SNAT или DNAT.
Tags: juniper, junos, playstation, очумелые ручки, сеть, сисадминское
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments