Search
Varnish Enterprise

Introduction Installation Upgrading Troubleshooting Changelog Changelog for 6.0.x Changes (Varnish Cache 4.1) Changes (Varnish Cache Plus 4.1) Known Issues Features Backend SSL/TLS Client SSL/TLS termination Cluster In-Process TLS MSE 4 Basic Configuration / Getting Started Configuration Persisted caching Categories Configuration Reference MSE 3.0 Settings mkfs.mse Memory Governor MSE 2.0 NUMA Parallel ESI Backend health counter HTTP/2 Support JSON Logging TCP Only Probes Timeouts Transit Buffer Varnish scoreboard VMODs Accept Accounting ACL (aclplus) ActiveDNS Akamai Connector ASN Module AWS VCL Body Access & Transformation (xbody) Brotli Cookie Plus (cookieplus) DeviceAtlas DeviceAtlas3 Digest Dynamic backends (goto) Edgestash File Format Geolocation (geoip/mmdb) Header Manipulation (headerplus) HTTP communication (http) Image JSON parsing (json) JWT Key value storage (kvstore) Least connections director (leastconn) Module to control the built-in HTTP2 transport (h2) MSE control (mse) MSE4 control (mse4) Probe Proxy ProxyV2 TLV Attribute Extraction (proxy) Pseudo Random Number Generator Purge (purge/softpurge) Real-time Status (rtstatus) Reverse DNS (resolver) Rewrite S3 VMOD Session Slicer SQLite3 Stale Standard (std) Stat (Prometheus) Strings (str) Synthetic backends (synthbackend) Tag-based invalidation (Ykey/Xkey) TCP configuration (tcp) TLS Total Encryption (crypto) Unified director object (udo) Uniform Resource Identifier (uri) Unix Socket Utilities (unix) URL Plus (urlplus) Utils Vsthrottle

ASN Module

Description

This Varnish module exports functions to look up Autonomous System Numbers (ASN) from https://iptoasn.com/ tsv database.

Example

vcl 4.1;
import asn;

backend be none;

sub vcl_init {
	new objasn = asn.init("ip2asn-combined.tsv");
}

sub vcl_recv {
	set req.http.asn = objasn.asn(client.ip);
	set req.http.company = objasn.asn(
	    std.ip(req.http.X-forwarded-for, "0.0.0.0"));
}

init

OBJECT init(STRING)

Create an ASN object and load a TSV file.

Arguments: None

Type: Object

Returns: Object.

.asn

STRING .asn(IP)

Lookup ASN from IP

Arguments: None

Type: Method

Returns: String

.company

STRING .company(IP)

Lookup company from IP

Arguments: None

Type: Method

Returns: String

.country

STRING .country(IP)

Lookup country of ASN from IP

SEE ALSO

vcl(7), varnishd(1)

Arguments: None

Type: Method

Returns: String


®Varnish Software, Wallingatan 12, 111 60 Stockholm, Organization nr. 556805-6203