Нужна помощь, чтобы этот файл работал в 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.

Любая помощь будет высоко ценится.

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

2
задан 16.05.2020, 21:27

1 ответ

Это называют нотацией 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
ответ дан 16.05.2020, 21:27
  • 1
    Я признаю, что не все в состоянии преподавать и передать знание. – Ewoks 16.05.2020, 21:28
  • 2
    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. – jarnbjo 16.05.2020, 21:28
  • 3
    Я добавил некоторую деталь к объяснению. – madx 16.05.2020, 21:29
  • 4
    Вы могли показать, как 192.168.0.0/16 дает диапазон 192.168.0.0 к 192.168.255.255? – dkb 16.05.2020, 21:29

Теги

Похожие вопросы