<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Kabel Deutschland + PFSense + neue IP nach Neustart oder &quot;Renew&quot;]]></title><description><![CDATA[<p dir="auto">Hey liebes forum</p>
<p dir="auto">also ich war auf der Suche wie ich bei Kabel Deutschland meine IP Adresse wechseln kann ohne dass ich das Modem immer über Nacht vom Strom nehmen musste damit ich eine neue IP bekahm, hier meine Lösung dank eines genialen Tip's <a href="http://forum.pfsense.org/index.php/topic,21523.0.html" target="_blank" rel="noopener noreferrer nofollow ugc">http://forum.pfsense.org/index.php/topic,21523.0.html</a> aus dem PFSense Forum.</p>
<p dir="auto">mein Equitment sieht wie folgt aus:</p>
<p dir="auto">Thompson THG540K Kabel Modem<br />
LaptopRouter Pfsense v. 1.2.3  1xLAN 1xWAN 1xWLAN<br />
Komputer + DAU der eine neue IP möchte</p>
<p dir="auto">los gehts:</p>
<p dir="auto">erstmal gehen wir im Menu von der Sense auf DIAGNOSTICS-&gt;EDIT FILE</p>
<p dir="auto">bei Save/Load from path:</p>
<p dir="auto">/etc/inc/interfaces.inc</p>
<p dir="auto">einfügen  und auf "LOAD" klicken</p>
<p dir="auto">jetzt suchen wir die stelle wo das LAN Interface behandelt wird:</p>
<pre><code>
/* MAC spoofing? */
   if ($lancfg['spoofmac']) {
      mwexec("/sbin/ifconfig " . escapeshellarg($lancfg['if']) .
         " link " . escapeshellarg($lancfg['spoofmac']));
   } else {
      $mac = get_interface_mac_address($lancfg['if']);
      if($mac == "ff:ff:ff:ff:ff:ff") {
         /*   this is not a valid mac address.  generate a
          *   temporary mac address so the machine can get online.
          */
         echo "Generating new MAC address.";
         $random_mac = generate_random_mac_address();
         mwexec("/sbin/ifconfig " . escapeshellarg($lancfg['if']) .
            " link " . escapeshellarg($random_mac));
         $lancfg['spoofmac'] = $random_mac;
         write_config();
         file_notice("MAC Address altered", "The INVALID MAC address (ff:ff:ff:ff:ff:ff) on interface {$lancfg['if']} has been automatically replaced with {$random_mac}", "Interfaces");
      }
   }

</code></pre>
<p dir="auto">dort wo die MAC adresse des LAN interfaces eingetragen ist wie in diesem Beispiel, also:<br />
ff:ff:ff:ff:ff:ff durch die MAC ersetzten:</p>
<pre><code>if($mac == "00:2a:e8:aa:11:5b") {
</code></pre>
<p dir="auto">und</p>
<pre><code>file_notice("MAC Address altered", "The INVALID MAC address (00:2a:e8:aa:11:5b) on interface {$lancfg['if']} has been automatically replaced with
</code></pre>
<p dir="auto">und schreiben dort die MAC des LAN Interfaces rein , (die MAC bekommt man über STATUS-&gt;INTERFACES des sensen menu's)</p>
<p dir="auto">so damit hätten wir schon mal das LAN Interface ready was nun bei jedem Neustart der Sense eine neue zufällige MAC Adresse bekommt.<br />
Das gleiche wollen wir auch mit dem WAN Interface machen also weiter gehts mit dem WAN Interface :D</p>
<p dir="auto">nun suchen wir weiter unten im Script nach:</p>
<pre><code>	/* wireless configuration? */
	if (is_array($wancfg['wireless']))
		interfaces_wireless_configure($wancfg['if'], $wancfg['wireless']);

	if ($wancfg['spoofmac']) {
		mwexec("/sbin/ifconfig " . escapeshellarg($wancfg['if']) .
			" link " . escapeshellarg($wancfg['spoofmac']));
	}  else {
		$mac = get_interface_mac_address($wancfg['if']);
		if($mac == "ff:ff:ff:ff:ff:ff") {
			/*   this is not a valid mac address.  generate a
			 *   temporary mac address so the machine can get online.
			 */
			echo "Generating new MAC address.";
			$random_mac = generate_random_mac_address();
			mwexec("/sbin/ifconfig " . escapeshellarg($wancfg['if']) .
				" link " . escapeshellarg($random_mac));
			$wancfg['spoofmac'] = $random_mac;
			write_config();
			file_notice("MAC Address altered", "The INVALID MAC address (ff:ff:ff:ff:ff:ff) on interface {$wancfg['if']} has been automatically replaced with {$random_mac}", "Interfaces");
		}
	}

</code></pre>
<p dir="auto">und ersetzen dort die beiden MAC Adressen ff:ff:ff:ff:ff:ff mit der MAC Adresse des WAN Interfaces</p>
<pre><code>if($mac == "01:1c:b6:ea:14:9c") {
</code></pre>
<p dir="auto">und</p>
<pre><code>file_notice("MAC Address altered", "The INVALID MAC address (01:1c:b6:ea:14:9c) on interface {$wancfg['if']} has been automatically
</code></pre>
<p dir="auto">danach speichern wir das ganz mit einem Klick auf <br />
Save/Load from path: /etc/inc/interfaces.inc "SAVE"</p>
<p dir="auto">Das wär erstmal soweit der erste Schritt, damit das LAN und WAN Interface bei jedem Neustart der Sense eine neue MAC bekommt. …wunderbar :D</p>
<p dir="auto">Blöder Weise bekomme ich keine IP Adresse mehr am WAN Interface zugewiesen, nach dem neustart der Sense ..hhm, erst wenn ich das Modem neustarte scheint es zu gehen... also brauchen wir noch eine kleine Lösung das die Sense auch das Modem neustartet wenn ich die Sense neustarte.<br />
Denke das sollte curl erledigen für uns, dafür müssen wir aber noch die /usr/local/www/reboot.php modifizieren</p>
<p dir="auto">wir gehen wieder ins Webinterface der Sense, klicken auf DIAGNOSTICS-&gt;EDIT FILE</p>
<p dir="auto">geben bei<br />
Save/Load from path: /usr/local/www/reboot.php<br />
ein und klicken auf "LOAD" , suchen uns fast am ende der Datei folgende stelle:</p>
<pre><code>$rebootmsg = "The system is rebooting now. This may take one minute.";
</code></pre>
<p dir="auto">und schreiben darunter unter dieser zeile:</p>
<pre><code>$output = shell_exec('curl -b cookies.txt -c cookies.txt -m 10 -d "mCmInfoDsFreq1=xx&amp;mCmInfoUsId1=xx" "http://192.168.100.1/goform/InitialScan"');
</code></pre>
<p dir="auto">was dann fertig so aussehen sollte:</p>
<pre><code>
if ($_POST) {
	if ($_POST['Submit'] == " Yes ") {
		echo "";
		system_reboot();
		$rebootmsg = "The system is rebooting now. This may take one minute.";
                $output = shell_exec('route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.1.1');
                $output = shell_exec('curl -b cookies.txt -c cookies.txt -m 10 -d "mCmInfoDsFreq1=xx&amp;mCmInfoUsId1=xx" "http://192.168.100.1/goform/InitialScan"');

	} else {
		exit;
	}
}
?&gt;

</code></pre>
<p dir="auto">Bloss zu doof das standarmaßig gar kein curl verfügbar ist :( also müssen wir es noch schnell nachinstallieren <em>freu</em></p>
<p dir="auto">im Webinterface klicken auf DIAGNOSTICS-&gt;COMMAND<br />
dann geben wir folgendes ein unter:</p>
<p dir="auto">Execute Shell command<br />
    Command:  pkg_add -r curl</p>
<p dir="auto">und klicken auf "EXECUTE" , einmal tief Luft hohlen und curl sollte dann installiert sein :D</p>
<p dir="auto">Wenn wir jetzt auf DIAGNOSTICS-&gt;REBOOT SYSTEM klicken und dann noch auf YES sollte sich das Modem neustarten und die Sense auch, danach sollte man eine neue IP-Adresse haben</p>
<p dir="auto">vielleich ist ja jemand so gut/hat das wissen ein kleines package zu basteln :D</p>
<p dir="auto">gruss ren22</p>
]]></description><link>https://forum.netgate.com/topic/24943/kabel-deutschland-pfsense-neue-ip-nach-neustart-oder-renew</link><generator>RSS for Node</generator><lastBuildDate>Sun, 07 Jun 2026 10:35:05 GMT</lastBuildDate><atom:link href="https://forum.netgate.com/topic/24943.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 11 Jul 2010 16:16:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kabel Deutschland + PFSense + neue IP nach Neustart oder &quot;Renew&quot; on Fri, 08 Jul 2011 19:09:31 GMT]]></title><description><![CDATA[<p dir="auto">so da ich immer zu faul bin alles von hand zu machen nachdem ich mal wieder die sense neu aufgesetzt habe, habe ich mir ein script gebastelt was die arbeit für mich erledigt ,</p>
<p dir="auto">ihr müsste lediglich eure echte MAC des WAN interfaces in dem script eintragen unter zeile 19<br />
und ausführen.</p>
<pre><code>#!/bin/sh
## ren22 08.07.11  ..NO WARRANTY OF USAGE!!! USAGE AT YOUR OWN RISK!!! 
## die original MAC des WAN Interfaces eintragen bei Zeile 19 !!!
##getested unter pfSense 2.0-RC3 1g nanobsd "embebbed"
##2.0-RC3 (i386) 
##built on Tue Jun 21 18:21:10 EDT 2011 
##nanobsd (1g) 
##
##erstelle WAN MAC patch datei
/bin/echo 'erstelle WAN MAC patch datei'
#
echo '--- /etc/inc/interfaces.inc	2011-07-06 20:52:28.000000000 +0000'&gt; /tmp/wanif.patch
echo '+++ /etc/inc/interfaces.inc.gepatched	2011-07-06 19:54:25.000000000 +0000'&gt;&gt; /tmp/wanif.patch
echo '@@ -2596,7 +2596,7 @@'&gt;&gt; /tmp/wanif.patch
echo '                 }'&gt;&gt; /tmp/wanif.patch
echo ' 	}  else {'&gt;&gt; /tmp/wanif.patch
echo ' 		$mac = get_interface_mac($realhwif);'&gt;&gt; /tmp/wanif.patch
echo '-		if ($mac == "ff:ff:ff:ff:ff:ff") {'&gt;&gt; /tmp/wanif.patch
echo '+		if ($mac == "nn:hh:tt:xx:yy:zz") {'&gt;&gt; /tmp/wanif.patch
echo ' 			/*   this is not a valid mac address.  generate a'&gt;&gt; /tmp/wanif.patch
echo ' 			 *   temporary mac address so the machine can get online.'&gt;&gt; /tmp/wanif.patch
echo ' 			 */'&gt;&gt; /tmp/wanif.patch
echo "patche interfaces.inc"
patch &lt; /tmp/wanif.patch /etc/inc/interfaces.inc
##
##erstelle phpreboot patch datei
/bin/echo 'erstelle REBOOT PHP patch datei'
echo '--- /usr/local/www/reboot.php	2011-07-06 19:51:50.000000000 +0000'&gt; /tmp/rebootphp.patch
echo '+++ /usr/local/www/reboot.php.gepatched	2011-07-06 19:53:39.000000000 +0000'&gt;&gt; /tmp/rebootphp.patch
echo '@@ -67,6 +67,9 @@'&gt;&gt; /tmp/rebootphp.patch
echo ' 		echo "";'&gt;&gt; /tmp/rebootphp.patch
echo ' 		system_reboot();'&gt;&gt; /tmp/rebootphp.patch
echo ' 		$rebootmsg = gettext("The system is rebooting now. This may take one minute.");'&gt;&gt; /tmp/rebootphp.patch
echo '+                $output = shell_exec('\'route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.1.1\'');'&gt;&gt; /tmp/rebootphp.patch
echo '+                $output = shell_exec('\'curl -b cookies.txt -c cookies.txt -m 10 -d \"mCmInfoDsFreq1=xx\&amp;mCmInfoUsId1=xx\" \"http\:\/\/192.168.100.1/goform/InitialScan\"\'');'&gt;&gt; /tmp/rebootphp.patch
echo '+'&gt;&gt; /tmp/rebootphp.patch
echo ' 	} else {'&gt;&gt; /tmp/rebootphp.patch
echo ' 		exit;'&gt;&gt; /tmp/rebootphp.patch
echo ' 	}'&gt;&gt; /tmp/rebootphp.patch
echo "patche reboot.php"
patch &lt; /tmp/rebootphp.patch /usr/local/www/reboot.php
#echo "Fertig."

if [ -z "`pkg_info | grep '^curl'`" ]; then
    echo "    installing curl"
    pkg_add -r curl
else
    echo "curl bereits installiert!"
fi

echo "Fertig! :)"
</code></pre>
<p dir="auto">das ganze pack ihr in eine .sh "shell" datei und geht im web interface menu auf "DIAGNOSTICS-&gt;COMMAND PROMPT" ,<br />
dort unter "UPLOAD" das script uploaden, was nach /tmp geuploaded wird.<br />
jetzt führen wir was ganze aus unter "EXECUTE SHELL COMMAND" , dor tippen wir ein:</p>
<p dir="auto">sh /tmp/meindatei.sh</p>
<p dir="auto">und dann auf "EXECUTE" klicken…</p>
<p dir="auto">warten wir ein wenig falls curl nicht installiert ist bis wir eine rückmeldung bekommen "Fertig :)"  sollte wenn alles orgnungsgemäß ablief erscheinen.<br />
nun können wir wie oben beschrieben unter reboot das modem neustarten und die sense im eine neue ip bei dem kabel deutschland provider zubekommen.</p>
<p dir="auto">grüsse ren22</p>
<p dir="auto"><a href="/public/_imported_attachments_/1/rndwan.sh.txt">rndwan.sh.txt</a></p>
]]></description><link>https://forum.netgate.com/post/286545</link><guid isPermaLink="true">https://forum.netgate.com/post/286545</guid><dc:creator><![CDATA[ren22]]></dc:creator><pubDate>Fri, 08 Jul 2011 19:09:31 GMT</pubDate></item><item><title><![CDATA[Reply to Kabel Deutschland + PFSense + neue IP nach Neustart oder &quot;Renew&quot; on Thu, 20 Jan 2011 08:58:29 GMT]]></title><description><![CDATA[<p dir="auto">Vielen Dank  :D hast mir viel Mühe erspart  ;)</p>
]]></description><link>https://forum.netgate.com/post/261628</link><guid isPermaLink="true">https://forum.netgate.com/post/261628</guid><dc:creator><![CDATA[hanz0]]></dc:creator><pubDate>Thu, 20 Jan 2011 08:58:29 GMT</pubDate></item><item><title><![CDATA[Reply to Kabel Deutschland + PFSense + neue IP nach Neustart oder &quot;Renew&quot; on Mon, 20 Dec 2010 17:32:15 GMT]]></title><description><![CDATA[<p dir="auto">PART II</p>
<p dir="auto">mir war das rebooten immer zu lästig und wollte am besten ne neue IP bekommen wenn ich unter STATUS&gt;INTERFACES [Release]  button klicke, also hab ich mir gedacht ich probiert das mal anders und beiraus kahm nun folgende Konstallation:</p>
<p dir="auto">ich gehe davon aus das alles wie bereits oben beschrieben sich vorfindet.</p>
<p dir="auto">wir gehen wieder ins Webinterface der Sense, klicken auf DIAGNOSTICS-&gt;EDIT FILE<br />
udn geben bei<br />
Save/Load from path: /usr/local/www/status_interfaces.php<br />
ein und klicken auf "LOAD" , suchen uns folgende stelle:</p>
<p dir="auto">und navigieren zu zeile 39:</p>
<p dir="auto">und ersetzen folgengen code mit dem alten von zeile 39 bis 73</p>
<pre><code>if ($_POST) {
	$interface = $_POST['interface'];
	$ifcfg = &amp;$config['interfaces'][$interface];
	if ($_POST['submit'] == "Disconnect" || $_POST['submit'] == "Release") {
$output = shell_exec('curl -b cookies.txt -c cookies.txt -m 10 -d "mCmInfoDsFreq1=xx&amp;mCmInfoUsId1=xx" "http://192.168.100.1/goform/InitialScan"');		
function warten(){
echo "  Bitte warten ";
$text = ".";
for ($i=0; $i&lt;120; $i++) {
     echo $text."\n";
     usleep(500000);
    }
}
if ($ifcfg['ipaddr'] == "dhcp")
			interfaces_dhcp_down($interface);
		if ($ifcfg['ipaddr'] == "dhcp")
            warten();
		else if ($ifcfg['ipaddr'] == "pppoe")
			interfaces_wan_pppoe_down(); // FIXME: when we support multi-pppoe
		else if ($ifcfg['ipaddr'] == "pptp")
			interfaces_wan_pptp_down(); // FIXME: when we support multi-pptp
	} else if ($_POST['submit'] == "Connect" || $_POST['submit'] == "Renew") {
		if ($ifcfg['ipaddr'] == "dhcp")
            interfaces_wan_configure();
        else if ($ifcfg['ipaddr'] == "dhcp")
			interfaces_dhcp_up($interface);
		else if ($ifcfg['ipaddr'] == "pppoe")
			interfaces_wan_pppoe_up(); // FIXME: when we support multi-pppoe
		else if ($ifcfg['ipaddr'] == "pptp")
			interfaces_wan_pptp_up(); // FIXME: when we support multi-pptp
	} else {
		header("Location: index.php");
		exit;
	}
}

</code></pre>
<p dir="auto">dann speichern nicht vergessen.</p>
<p dir="auto">damit hätten wir erstmal, dass wenn wir auf den button [Release] unter STATUS&gt;INTERFACES klicken das sich das<br />
(1)modem neustartet<br />
(2)das WAN Interface …</p>
<p dir="auto">... "down" , also wir schalten hier WAN ab<br />
... "warten"  wir warten ca 45 sekunden bis die "Web-Interface" Seite neugeladen wird, da ungefähr auch solange das Modem braucht bis es fertig ist.</p>
<p dir="auto">wenn wir dann auf [Renew] klicken bekommen wir:<br />
… "configure", wir konfigurieren das interface neu durch die funktion interfaces_wan_configure()  was in der datei /etc/inc/interfaces.inc definiert wird</p>
<p dir="auto">so nun weiter mit dem editieren der datei /etc/inc/interfaces.inc</p>
<p dir="auto">also wieder unter:<br />
wir gehen wieder ins Webinterface der Sense, klicken auf DIAGNOSTICS-&gt;EDIT FILE<br />
udn geben bei<br />
Save/Load from path: /etc/inc/interfaces.inc<br />
ein und klicken auf "LOAD" , suchen uns fast am ende der Datei folgende stelle:</p>
<p dir="auto">und gehn zu zeile  bei mir ist es 813</p>
<p dir="auto">vor zeile 813 wird die MAC des WAN interfaces ermittelt<br />
$mac = get_interface_mac_address($wancfg['if']);</p>
<p dir="auto">und ersetzen die zeile mit</p>
<pre><code>if($mac == $mac) {
</code></pre>
<p dir="auto">sollte fertig so ausssehn</p>
<pre><code>	if ($wancfg['spoofmac']) {
		mwexec("/sbin/ifconfig " . escapeshellarg($wancfg['if']) .
			" link " . escapeshellarg($wancfg['spoofmac']));
	}  else {

                $mac = get_interface_mac_address($wancfg['if']);
		if($mac == $mac) {
			/*   this is not a valid mac address.  generate a
			 *   temporary mac address so the machine can get online.
			 */
			echo "Generating new MAC address.";
			$random_mac = generate_random_mac_address();
			mwexec("/sbin/ifconfig " . escapeshellarg($wancfg['if']) .
				" link " . escapeshellarg($random_mac));
			$wancfg['spoofmac'] = $random_mac;
			write_config();
			file_notice("MAC Address altered", "The INVALID MAC address (33:22:11:cc:bb:aa) on interface {$wancfg['if']} has been automatically replaced with {$random_mac}", "Interfaces");
		}
	}
</code></pre>
<p dir="auto">ebenfalls speichern nicht vergessen.</p>
<p dir="auto">so fertig!<br />
das hat mich jetzt den ganzen nachmittag gekostet :P</p>
<p dir="auto">gruss ren22</p>
]]></description><link>https://forum.netgate.com/post/257240</link><guid isPermaLink="true">https://forum.netgate.com/post/257240</guid><dc:creator><![CDATA[ren22]]></dc:creator><pubDate>Mon, 20 Dec 2010 17:32:15 GMT</pubDate></item></channel></rss>