This is possible, but it will require querying your own database using unverified Perl. The Community Question Library includes a starting point for this here:
https://sawtoothsoftware.com/resources/question-library/read-database
I've modified this code to create skip logic that should fire when a duplicate IP address is found:
Begin Unverified Perl
# Parameters
my $question = 'sys_IPAddress';
my $table = '';
my $databaseName = '';
my $databaseUser = '';
my $databasePass = '';
my $databaseHost = '';
# Read database
my $dbh = DBI->connect('dbi:mysql:' . $databaseName . ':' . $databaseHost, $databaseUser, $databasePass);
my $sth = $dbh->prepare('SELECT `' . $question . '` FROM `' . $table . '` WHERE `' . $question . '` IS NOT NULL AND `' . $question . '` <> ""');
$sth->execute();
my $ip = IPADDRESS();
my $duplicate = 0;
while (my $row = $sth->fetchrow_arrayref()) {
my $resp = $row->[0];
if ($resp eq $ip) {
$duplicate = 1;
last;
}
}
$sth->finish;
$dbh->disconnect;
return $duplicate;
End Unverified
You'll need to upload your survey and adjust lines 4-9. The link above offers more info on what the correct values to use for these are.