Hallo,
habe bis her kein Lösung gefunden, auch über Suchmaschienen...
Allso zur Frage: auf meinem Server sind mehrere IP eingebunden.
Es ist weiter ein MySql Datenbank auf zweitem Server, zu dem ich von ersten die Verbindung aufbauen möchte. Kein Problem, wenn ich in MySql Datenbank den User mit "Egal welche Hosts %" eingerichtet hätte. Jedoch das ist aus Sichercheitsgrunden nicht gut. Und wenn ich mit use DBI eine Verbindung setze, kommt der Perl aus nicht gewünschte IP die Verbindung zu erstellen.
allso em0 hat 192.168.1.1, 192.168.1.2, 192.168.1.3, 192.168.1.4, 192.168.1.5
und ich soll nur aus 192.168.1.1 die Verbindung stellen.
Kann jemand was zu empfehlen ?
Danke!
Gruß
Alexander
User since
2005-01-17
14748
Artikel
Admin1
QuoteEs ist weiter ein MySql Datenbank auf zweitem Server, zu dem ich von ersten die Verbindung aufbauen möchte
In den Zugangsberechtigungen des SQL-Servers muss die IP des ersten Servers stehen, also 192.168.1.1
Ist selbstverständlich klahr, doch der Perl script kommt nicht aus 192.168.1.1 zu verbinden, jedoch aus ihm gewünschten IP, z.B 192.168.1.5
Und wie kann ich Zuordnen dem Perl, dass der nur 192.168.1.1 verwendnen soll, das ist unklahr...
User since
2005-08-17
1420
Artikel
BenutzerIn
Hm, das ist eigentlich Sache des Kernels. Der entscheidet normal, welche IP als Quelle genommen wird.
Hab ich das richtig verstanden, dass Server A zwar mehrere IPs hat, du zu Server B (MySQL) nur von 192.168.1.1 aus connecten lassen willst?
Wo wäre das Problem, wenn du connects von 192.168.1-5 zulassen würdest?
Problem ist in dem, dass der Server öffentliche IP hat. Allso nicht 192.168.0.0/24 Netz, sondern richtige IPs.
Ja, das liegt irgend wo in dem Kernel. Aber das kann irgend wie einfach ändern. Ich habe FreeBSD. So mit auch über Perl einstellungen, oder DBI... Villeicht schon jemenad gemacht. Wie gesagt, über Suchmaschienen , hab ich nicht´s gefunden.
User since
2005-08-17
1420
Artikel
BenutzerIn
Ja, aber dein DB-Server hat ja sicherlich eine nicht-öffentliche IP oder? Der soll ja eigentlich nicht aus dem Internet zugänglich sein?!
Wenn ja, dann muss dein Server ja auch eine IP im internen Netz haben und die wird dann ja für die Datenbank-Connects benutzt.
Verstehe dein Problem immer noch nicht so 100%.
die 192.168.... sind Beispiel IPs. Datenbank hat zur Zeit öffentliche IP Adresse. Dem Perl aus Client-Rechnern möchte ich zuordnen sein Client-IP, über welche er Verbindung mit dem MySql Server baut.
Wie fast es immer passiert, gefunden hat der, wer das sucht.
1. erstellen /etc/my.cnf (auf dem Rechner wo PERL Script ist) mit Kontent:
[client]
host={..IP..}
[mysqld]
host={..IP..}
port=3306
2. In dem Script
my $dsn = "dbi:mysql:$P_BASE;mysql_read_default_file=/etc/my.cnf;host=$MysqlHOST";
my $dbh = DBI->connect($dsn, $MysqlUSER, $MysqlPAWD, {RaiseError => 1}) or error ($DBI::errstr);
Und los gehts!
PS: Rechner herunterfahern ist erforderlich, falls dies nicht hilft. Weil der PERL macht irgendwie inzwischen eine Cache, wo die IP's und Hosts gespeichert sind. Allso bei mir funktioniert so was nun.
Gruss aus Schwedt/Oder
Alexander