SP-H ohne SIPPROXY

      SP-H ohne SIPPROXY


      Bitte schaut den aktuelleren Post an.

      Grüße

      danXde

      ----

      Im ersten Versuch wollte ich mal ohne SIP-Proxy auskommen. Änderungen sind erstmal nur im RAM, also flüchtig. Es läuft noch nicht alles rund, aber ich will Euch zumindest ein wenig vom bisherigen Status teilhaben lassen. Ich habe relativ viel über Bord geworfen, da den SP-H nur für DYNDNS, die Hybrid-WAN-Verbindung und das NAT in Richtung Fritz.Box verwende. Alles andere ist nicht verwendet. Alle Ports werden dann zur Fritzbox weiter geleitet.

      Vorab: In der GUI habe ich nun nichts mehr in den LTE-Ausnahmen oder Portweiterleitungen was Voice-IP angeht drin.
      1. mit killall siproxyd den SIP-Proxy beenden
      2. kill -9 xxx alle voiper abgeschossen.
      3. Proaktiv noch eine Route ergänzen route add -net 217.0.0.0 netmask 255.255.224.0 ppp256
      4. Dann noch iptables editieren.

        Achtung in dem Codebeispiel müsst Ihr noch SP-H_IP, SP-H_NETWORK und FRITZ.BOX_IP in Eure aktuellen Werte ändern.

        Achtung: Bitte checkt, ob per DNS-Auflösung die beiden Server tel.t-online.de (habe ich mit 217.0.16.0/20) und stun.t-online.de (habe ich mit 217.0.0.0/20 ersetzt) in dem Bereich passend aufgelöst werden, da bei iptables ja nur die IP-Adressen drin stehen. Falls Sie nicht in dem Bereich sind, müssten wir den Bereich vergrößern/ergänzen.

      Quellcode

      1. # iptables --list-rules
      2. iptables --flush
      3. iptables --delete-chain
      4. iptables -P INPUT ACCEPT
      5. iptables -P FORWARD ACCEPT
      6. iptables -P OUTPUT ACCEPT
      7. iptables -N FWD_LAN_SUBNET
      8. iptables -N FWD_SERVICE
      9. iptables -N INPUT_FIREWALL
      10. iptables -N INPUT_LAN_SUBNET
      11. iptables -N INPUT_SERVICE
      12. iptables -A INPUT -d 255.255.255.255/32 -p 47 -j DROP
      13. iptables -A INPUT -i lo -j ACCEPT
      14. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
      15. iptables -A INPUT -j INPUT_LAN_SUBNET
      16. iptables -A INPUT -j INPUT_SERVICE
      17. iptables -A INPUT -j INPUT_FIREWALL
      18. iptables -A FORWARD -m mark --mark 0x80000000/0x80000000 -j ACCEPT
      19. iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
      20. iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
      21. iptables -A FORWARD -j FWD_LAN_SUBNET
      22. iptables -A FORWARD -j FWD_SERVICE
      23. iptables -A OUTPUT -d 127.0.0.1/32 -o ppp256 -j DROP
      24. iptables -A FWD_LAN_SUBNET -s SP-H_NETWORK/24 ! -i br0 -j DROP
      25. iptables -A FWD_LAN_SUBNET ! -s SP-H_NETWORK/24 -i br0 -j DROP
      26. iptables -A FWD_LAN_SUBNET -i br0 -o rmnet0 -j DROP
      27. iptables -A FWD_LAN_SUBNET -d 192.168.0.0/16 -i br0 -o ppp256 -j DROP
      28. iptables -A FWD_LAN_SUBNET -d 172.16.0.0/12 -i br0 -o ppp256 -j DROP
      29. iptables -A FWD_LAN_SUBNET -d 10.0.0.0/8 -i br0 -o ppp256 -j DROP
      30. iptables -A FWD_LAN_SUBNET -d 192.168.0.0/16 -i br0 -o gre+ -j DROP
      31. iptables -A FWD_LAN_SUBNET -d 172.16.0.0/12 -i br0 -o gre+ -j DROP
      32. iptables -A FWD_LAN_SUBNET -d 10.0.0.0/8 -i br0 -o gre+ -j DROP
      33. iptables -A FWD_SERVICE -d 169.254.0.0/16 -i br0 -j DROP
      34. iptables -A FWD_SERVICE -s 169.254.0.0/16 ! -i br0 -j DROP
      35. iptables -A FWD_SERVICE -s 127.0.0.0/8 ! -i br0 -j DROP
      36. iptables -A FWD_SERVICE -d FRITZ.BOX_IP/32 -i gre+ -p tcp -m tcp --dport 1:65535 -j ACCEPT
      37. iptables -A FWD_SERVICE -d FRITZ.BOX_IP/32 -i gre+ -p udp -m udp --dport 1:65535 -j ACCEPT
      38. iptables -A FWD_SERVICE -d FRITZ.BOX_IP/32 -i ppp256 -p tcp -m tcp --dport 1:65535 -j ACCEPT
      39. iptables -A FWD_SERVICE -d FRITZ.BOX_IP/32 -i ppp256 -p udp -m udp --dport 1:65535 -j ACCEPT
      40. iptables -A INPUT_FIREWALL ! -d SP-H_IP/32 -i br0 -p tcp -m tcp --dport 80 -j DROP
      41. iptables -A INPUT_FIREWALL ! -d SP-H_IP/32 -i br0 -p icmp -j DROP
      42. iptables -A INPUT_FIREWALL ! -d SP-H_IP/32 -i br0 -p udp -m udp --dport 53 -j DROP
      43. iptables -A INPUT_FIREWALL ! -d SP-H_IP/32 -i br0 -p tcp -j DROP
      44. iptables -A INPUT_FIREWALL -i br0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 10/sec --limit-burst 50 -j ACCEPT
      45. iptables -A INPUT_FIREWALL -i br0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
      46. iptables -A INPUT_FIREWALL ! -i br0 -j DROP
      47. iptables -A INPUT_LAN_SUBNET -s SP-H_NETWORK/24 ! -i br0 -j DROP
      48. iptables -A INPUT_SERVICE -s 169.254.0.0/16 ! -i br0 -j DROP
      49. iptables -A INPUT_SERVICE -s 127.0.0.0/8 ! -i br0 -j DROP
      50. # iptables -t nat --list-rules
      51. iptables -t nat --flush
      52. iptables -t nat --delete-chain
      53. iptables -t nat -P PREROUTING ACCEPT
      54. iptables -t nat -P INPUT ACCEPT
      55. iptables -t nat -P OUTPUT ACCEPT
      56. iptables -t nat -P POSTROUTING ACCEPT
      57. iptables -t nat -N PRE_DONAT
      58. iptables -t nat -A PREROUTING -j PRE_DONAT
      59. iptables -t nat -A POSTROUTING -o gre2 -j MASQUERADE --mode fullcone
      60. iptables -t nat -A POSTROUTING -o gre1 -j MASQUERADE --mode fullcone
      61. iptables -t nat -A POSTROUTING -o ppp256 -j MASQUERADE --mode fullcone
      62. iptables -t nat -A POSTROUTING -m mark --mark 0x80000000/0x80000000 -j MASQUERADE
      63. iptables -t nat -A POSTROUTING -o ppp256 -m mark --mark 0x40000000/0xf0000000 -j MASQUERADE
      64. iptables -t nat -A POSTROUTING -o ppp256 -m mark --mark 0x20000000/0xf0000000 -j MASQUERADE
      65. iptables -t nat -A POSTROUTING -o ppp256 -m mark --mark 0x10000000/0xf0000000 -j MASQUERADE
      66. iptables -t nat -A PRE_DONAT -i gre+ -j DNAT --to-destination FRITZ.BOX_IP
      67. iptables -t nat -A PRE_DONAT -i ppp256 -j DNAT --to-destination FRITZ.BOX_IP
      68. # iptables -t mangle --list-rules
      69. iptables -t mangle --flush
      70. iptables -t mangle --delete-chain
      71. iptables -t mangle -P PREROUTING ACCEPT
      72. iptables -t mangle -P INPUT ACCEPT
      73. iptables -t mangle -P FORWARD ACCEPT
      74. iptables -t mangle -P OUTPUT ACCEPT
      75. iptables -t mangle -P POSTROUTING ACCEPT
      76. iptables -t mangle -N BLACK_LIST
      77. iptables -t mangle -N FORWARD_WAN_RULES
      78. iptables -t mangle -N FWD_FILTER_LIST
      79. iptables -t mangle -N PRE_FILTER_LIST
      80. iptables -t mangle -N ROUTE_CTL_LIST
      81. iptables -t mangle -N ROUTE_OPTION121_LIST
      82. iptables -t mangle -N ROUTE_STATIC_LIST
      83. iptables -t mangle -A PREROUTING -i ppp256 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m tcpmss --mss 1412:65535 -j TCPMSS --set-mss 1412
      84. iptables -t mangle -A PREROUTING -i ppp256 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN,ACK -m tcpmss --mss 1412:65535 -j TCPMSS --set-mss 1412
      85. iptables -t mangle -A PREROUTING -i br0 -j ROUTE_CTL_LIST
      86. iptables -t mangle -A PREROUTING -i br0 -j PRE_FILTER_LIST
      87. iptables -t mangle -A PREROUTING -i gre2 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m tcpmss --mss 1344:65535 -j TCPMSS --set-mss 1344
      88. iptables -t mangle -A PREROUTING -i gre2 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN,ACK -m tcpmss --mss 1344:65535 -j TCPMSS --set-mss 1344
      89. iptables -t mangle -A PREROUTING -i gre1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m tcpmss --mss 1344:65535 -j TCPMSS --set-mss 1344
      90. iptables -t mangle -A PREROUTING -i gre1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN,ACK -m tcpmss --mss 1344:65535 -j TCPMSS --set-mss 1344
      91. iptables -t mangle -A FORWARD -i br0 -j FORWARD_WAN_RULES
      92. iptables -t mangle -A OUTPUT -m mark --mark 0xe/0xf -j MARK --set-xmark 0x0/0xf
      93. iptables -t mangle -A OUTPUT -m mark --mark 0x9/0xf -j MARK --set-xmark 0x0/0xf
      94. iptables -t mangle -A OUTPUT -p udp -m udp --dport 53 -j MARK --set-xmark 0x6/0xf
      95. iptables -t mangle -A OUTPUT -m mark --mark 0x1000/0x1000 -j ROUTE_CTL_LIST
      96. iptables -t mangle -A POSTROUTING -o ppp256 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m tcpmss --mss 1412:65535 -j TCPMSS --set-mss 1412
      97. iptables -t mangle -A POSTROUTING -o ppp256 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN,ACK -m tcpmss --mss 1412:65535 -j TCPMSS --set-mss 1412
      98. iptables -t mangle -A POSTROUTING -o gre2 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m tcpmss --mss 1344:65535 -j TCPMSS --set-mss 1344
      99. iptables -t mangle -A POSTROUTING -o gre2 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN,ACK -m tcpmss --mss 1344:65535 -j TCPMSS --set-mss 1344
      100. iptables -t mangle -A POSTROUTING -o gre1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m tcpmss --mss 1344:65535 -j TCPMSS --set-mss 1344
      101. iptables -t mangle -A POSTROUTING -o gre1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN,ACK -m tcpmss --mss 1344:65535 -j TCPMSS --set-mss 1344
      102. iptables -t mangle -A BLACK_LIST -d 217.237.149.205/32 -j MARK --set-xmark 0x80000000/0x80000000
      103. iptables -t mangle -A BLACK_LIST -d 217.237.151.51/32 -j MARK --set-xmark 0x80000000/0x80000000
      104. iptables -t mangle -A FORWARD_WAN_RULES -j DSCP --set-dscp 0x00
      105. iptables -t mangle -A FORWARD_WAN_RULES -p tcp -m tcp --tcp-flags ACK ACK -m length --length 40:64 -j MARK --set-xmark 0x6/0xf
      106. iptables -t mangle -A FWD_FILTER_LIST -m dscp --dscp 0x30 -j MARK --set-xmark 0x40000000/0xf0000000
      107. iptables -t mangle -A FWD_FILTER_LIST -m dscp --dscp 0x28 -j MARK --set-xmark 0x40000000/0xf0000000
      108. iptables -t mangle -A FWD_FILTER_LIST -p udp -m udp --dport 5060 -j MARK --set-xmark 0x20000000/0xf0000000
      109. iptables -t mangle -A FWD_FILTER_LIST -p udp -m udp --sport 5060 -j MARK --set-xmark 0x20000000/0xf0000000
      110. iptables -t mangle -A FWD_FILTER_LIST -p udp -m udp --dport 7078:7109 -j MARK --set-xmark 0x20000000/0xf0000000
      111. iptables -t mangle -A FWD_FILTER_LIST -p udp -m udp --sport 7078:7109 -j MARK --set-xmark 0x20000000/0xf0000000
      112. iptables -t mangle -A FWD_FILTER_LIST -d 217.0.16.0/20 -j MARK --set-xmark 0x20000000/0xf0000000
      113. iptables -t mangle -A FWD_FILTER_LIST -d 217.0.0.0/20 -j MARK --set-xmark 0x10000000/0xf0000000
      114. iptables -t mangle -A ROUTE_CTL_LIST -d 217.0.117.143/32 -j RETURN
      115. iptables -t mangle -A ROUTE_CTL_LIST -d SP-H_NETWORK/24 -j RETURN
      116. iptables -t mangle -A ROUTE_CTL_LIST -j BLACK_LIST
      117. iptables -t mangle -A ROUTE_CTL_LIST -m mark --mark 0x80000000/0x80000000 -j ACCEPT
      118. iptables -t mangle -A ROUTE_CTL_LIST -j ROUTE_STATIC_LIST
      119. iptables -t mangle -A ROUTE_CTL_LIST -j ROUTE_OPTION121_LIST
      120. iptables -t mangle -A ROUTE_CTL_LIST -j FWD_FILTER_LIST

      Dieser Beitrag wurde bereits 19 mal editiert, zuletzt von „danXde“ ()

      Hallo Heiko und all die Anderen,

      eine super Arbeit! Wird es in absehbarer Zeit eine flashbare Version, die einen Telnet Zugang schon freigeschaltet hat und andere
      Features (ohne SIP Proxy ...) geben? Hinter meiner FritzBox 7390 (bis Dezember 2015) werkelt eine TK-Anlage. Um die höhrere
      Geschweindigkeit des Hybrid Anschlusses nutzen zu können musste ich natürlich den Speedport Hybrid vor die FritzBox hängen.

      Nach ewiger Testerei funktioniert das halbwegs, wenn auch nur "gepfuscht" (FritzBox macht den VoIP Teil, TK-Anlage hängt per
      S0 Bus an der FritzBox). Problem ist, dass ich es ums verrecken nicht schaffe den SIP Trunk der Deutschen Telefon (nicht Tekekom!)
      stabil über den SPH und FritzBox zur TK-Anlage über LAN durchgeroutet zu bekommen. Ich bin sehr sicher, dass der SPH SIP Proxy
      hier einen Strich durch die Rechnung macht.

      Ist das möglich ein flashbares Image zu bekommen?

      viele Grüße
      Michael
      Ich tippe darauf das er sich das wünscht was ich mir nutze :)
      sipphone mit direkter Anbindung an die Fritz egal wo man ist und das ohne Tunnel :)


      Etwas anderes kann ich daraus nicht erlesen.

      Ein fertiges Image da glaube ich nun nicht dran.
      Ist aber auch nicht nätig selbst ich habe die Änderungen so hinbekommen.
      Hallo danXde und Heiko,

      danke euch für die Info. Dann werde ich mich mal die nächsten Tage an die Arbeit machen und den Telnet Zugang
      versuchen einzurichten. Ich habe bisher nur die Beiträge hier überflogen (aus Zeitgründen), doch denke ich ist der
      Dreh- und Angelpunkt die Entschlüsselung und nach Änderung die Verschlüsselung der Konfigurationdatei oder?

      @Heiko: Ich wünsche mir einen SPH ohne SIP Proxy, da eh die FritzBox und/oder die hinter der FritzBox hängende
      TK-Anlage die VoIP Geschichte komplett bedient. Der SIP Proxy des SPH funkt nur unnötig dazwischen. Was mir
      noch nicht klar ist, wie ich den VoIP Traffic ausschließlich ins DSL senden kann. Habt ihr hier einen Tip?

      @danXde: Die Deutsche Telefon hat die Zieladresse: sip.dtst.de

      Ich hoffe mein Vorhaben ist jetzt etwas klarer geworden.

      viele Grüße
      MIchael

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „pingpong“ ()

      Update:
      das Script in den Bootstrap zu packen klappt nicht....
      bzw. führt dazu das nur noch chaos ist :)
      sipproxd scheint erst später zu starten....
      desweiteren mußte ich nun in diversen konstellationen die Boxen neu starten.

      Letzter Versuch(kann auch Zufall sein)
      1. SPH neu starten
      2. das script manuell ausführen und drauf achten das voiper und siproxd nicht mehr laufen
      3. Fritzbox neu starten

      es dauert dann ein bissl bis es läuft!
      @Heiko: der bootstrap läuft sehr früh in der Bootreihenfolge - deshalb auch die Warteschleife für den USB-Mount.
      Auch das bootstrap_init.sh wird recht früh ausgeführt - so daß bei mir zB. auch der vnstat-Aufruf verzögert wird durch eine Schleife, welche auf datum!=1970 wartet - weil vnstat eben eine ordentliche Zeiteinstellung braucht...

      Wenn Du besondere Ausgangs-Situationen für deine Scripts brauchst --> starte vom Init aus 1-x Hintergrund-Scripts, welche darauf warten, daß diese eintreten ;)

      mfg, emkay
      korrekt :)
      vielleicht ginge es auch wenn man siproxd umbenennt und in die Datei siproxdumbenannt aufruft und danach dann gleich firewall.sh womit man es killt und die firewall anpasst.
      wäre in meinen Augen die sauberste Lösung und würde automatisch dafür sorgen wann auch immer der siproxd vom sph neu gestartet wird das es dann läuft.
      @eMKay77 in einem zweiten Durchlauf haben wir genau das gemacht und so läuft es aktuell auch. Was passieren kann, wenn der Router nun mal den Tunnel oder DSL verliert, dann schreibt er leider noch die iptables neu und das führt noch zu Telefonieproblemen. Wenn man also dem SP-H das noch abgewöhnen kann, dann wäre das Thema für SIP ohne SIP-Proxy schon mal erreicht. Dann könnte man das noch dahingehen tunen, das man, sofern gewünscht die Telefonie nur noch für Telekom auf DSL umbiegt und so auch SIP auf dem Tunnel zulässt, was dann bei Ausfall DSL bedeutet, weiterhin über alternative SIP-Provider über den LTE-Anteil erreichbar ist.

      Ebenfalls könnte man sich dann anschauen, das er auch über IPv6 die Pakete für SIP an die Fritzbox weiterleitet. Wobei hier noch wesentlich mehr Arbeiten in Richtung IPv6 Prefix-Delegation gemacht werden müssen.
      null: so auf die Schnelle - quick&dirty - wenn ihr eh die gesamte Tabelle neu aufsetzt --> entfernt einfach /bin/iptables ;)
      ist eh nur ein Link auf /bin/xtables-multi (ein multi-binary ähnlich busybox...)
      EDIT: hatte /bin/ip6tables vergessen --> auch ein Link auf xtables-multi...
      EDIT2: gibt leider auch ein /bin/ebtables welches von 'cms' genutzt wird.

      Ihr erreicht dann iptables trotzdem per 'xtables-multi iptables' --> eventuell reicht das schon, um das setzen von Filterregeln durch andere zu verhindern ;)

      (schau Dir mal xtables-multi --help an --> könnte interessant sein!)

      Quellcode

      1. Valid subcommands:
      2. * iptables
      3. * main4
      4. * iptables-save
      5. * save4
      6. * iptables-restore
      7. * restore4
      8. * iptables-xml
      9. * xml
      10. * ip6tables
      11. * main6
      12. * ip6tables-save
      13. * save6
      14. * ip6tables-restore
      15. * restore6


      mfg, emkay

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „eMKay77“ ()