Когда трафик идёт на голый IP (без домена) или нужна грубая маршрутизация «по принадлежности адреса», на сцену выходят IP-правила.
IP-CIDR: по диапазону
- IP-CIDR,192.168.0.0/16,DIRECT # приватный диапазон напрямую
- IP-CIDR,8.8.8.8/32,PROXY # одиночный IP - /32
- IP-CIDR6,2001:4860::/32,PROXY # IPv6 - IP-CIDR6
/N фиксирует первые N бит: /32 - один адрес, /24 - 256 (1.2.3.0-1.2.3.255), /16 - 65 536. Забыть /32 у одиночного адреса - классика.
GEOIP: по стране
- GEOIP,CN,DIRECT
Ядро ищет код страны в комплектной базе MaxMind (Country.mmdb). GEOIP,CN,DIRECT есть почти в каждом китайском профиле: всё, что резолвится в местные адреса, идёт напрямую. База изредка ошибается - лечится доменным правилом выше по списку.
no-resolve: без лишнего DNS
IP-правилу нужен IP назначения. Для доменного трафика ядру пришлось бы резолвить имя только ради проверки правила - медленно, а в fake-ip ещё и вынуждает настоящий резолвинг. С no-resolve доменный трафик пропускает правило целиком - проверяются только соединения, изначально идущие на IP:
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- GEOIP,CN,DIRECT # финальному GEOIP обычно не ставят, чтобы домены тоже делились по стране
Рекомендуемая раскладка
- Доменные правила (семейство DOMAIN, доменные наборы);
- IP-правила приватных диапазонов с
no-resolve; GEOIP,CN,DIRECT;MATCH,группав конце.