Вопрос Нужна помощь, чтобы этот файл работал в iptables


Я натолкнулся на следующий пример использования iptables для блокировки доступа к Интернету, когда VPN-соединение прерывается внезапно:

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT #allow loopback access
iptables -A OUTPUT -d 255.255.255.255 -j ACCEPT #make sure you can communicate with any DHCP server
iptables -A INPUT -s 255.255.255.255 -j ACCEPT #make sure you can communicate with any DHCP server
iptables -A INPUT -s 192.168.0.0/16 -d 192.168.0.0/16 -j ACCEPT #make sure that you can communicate within your own network
iptables -A OUTPUT -s 192.168.0.0/16 -d 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -i eth+ -o tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -o eth+ -j ACCEPT # make sure that eth+ and tun+ can communicate
iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE # in the POSTROUTING chain of the NAT table, map the tun+ interface outgoing packet IP address, cease examining rules and let the header be modified, so that we don't have to worry about ports or any other issue - please check this rule with care if you have already a NAT table in your chain
iptables -A OUTPUT -o eth+ ! -d a.b.c.d -j DROP # if destination for outgoing packet on eth+ is NOT a.b.c.d, drop the packet, so that nothing leaks if VPN disconnects

Я установил iptables-persistence и хотел бы знать, как использовать выше, чтобы работать с iptables.

Любая помощь приветствуется.

P.S .: У меня мало знаний по ИТ и даже меньше от Ubuntu. Может ли кто-нибудь объяснить мне, как получить значение 192.168.0.0/16?


2
2018-03-19 16:04


происхождения




ответы:


Это называется записью CIDR, см. http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing

192.168.0.0/16 означает все адреса от 192.168.0.0 до 192.168.255.255, которые являются всеми адресами в диапазоне IP частной сети. Если вы поместите 192.168.0.0/24, то оно будет только от 192.168.0.0 до 192.168.0.255.

Число после / соответствует числу фиксированных битов в адресе, где 8 бит на номер (2 ^ 8 = 256) или октет, поэтому 32 бита на адрес. Остальные 32 бита соответствуют количеству бит, которые являются частью диапазона.

В случае 192.168.0.0/24, 24 означает, что первые 24 бита этого адреса фиксированы. Это соответствует первым трем октетам (по 8 бит) или 192.168.0, И 32-24 = 8, поэтому только последний октет является частью диапазона. Это дает 8 бит диапазона, или 0-255.

В исходном вопросе 192.168.0.0/16 16 означает, что первые 16 бит адреса фиксированы или 192.168 (2 октета, 8 бит каждый, 8 + 8 = 16). И 32-16 = 16 бит, поэтому последние два октета - это диапазон. Это дает 16 бит диапазона, который представляет собой два октета (по 8 бит каждый) 0-255.


2
2018-05-01 14:52



In the second example, the range is smaller, 32-24=8, so only the last octet. Ваша точка? Вы все еще не объяснили, почему 192.168.0.0/24 дает диапазон от 192.168.0.0 до 192.168.0.255. - n00b
Не могли бы вы показать, как 192.168.0.0/16 дает диапазон от 192.168.0.0 до 192.168.255.255? - n00b
Я согласен, что не каждый может учить и распространять знания. - n00b
Я добавил некоторые подробности к объяснению. - Nattgew