Faculty of information technology


Download 1.67 Mb.
Pdf ko'rish
bet16/41
Sana17.06.2023
Hajmi1.67 Mb.
#1545014
1   ...   12   13   14   15   16   17   18   19   ...   41
Bog'liq
full thesis

3.3.3
Communication scheme
For each router (and Road-Warrior) the administrator can specify what other routers (and
their LANs) it can communicate with [
28
]. Whenever these settings are modified, Open-
VPN’s push mechanism is used to update device’s routing table. When this happens, tunnels
with the affected devices are restarted for the change to take an effect. The re-establishment
of the tunnels can take up to dozens of seconds.
All routers and devices behind them are addressable only by their assigned virtual IP
addresses. To implement 1:1 NAT, it uses an iptables’ NETMAP extension on routers.
N-th address in one block of addresses is translated to N-th address of the second one.
3.3.4
Important differences
SmartCluster does not provide dynamic changes of router configuration. To apply any
changes (besides routing table updates), the administrator needs to manually upload a
new configuration to the router [
28
]. It also does not support creation of custom firewall
rules and does not distinguish individual interfaces [
28
]. It behaves as if each router were
connected to a single LAN and supported only 1:1 NAT mode.
3.4
Summary
Despite some of the configuration management tools seeming viable at first, each suffers
from its own assortment of issues that make it a sub-optimal solution for our problem.
Puppet’s inability to initiate a configuration push, combined with its potentially redun-
dant encryption layer is a big problem. It is possible to use very short pull intervals, and
select GRE or other tunneling method that does not provide encryption to solve the second
issue, but then the non-configuration traffic would not be encrypted, which is unacceptable.
Ansible brings the problem with redundant encryption layer too. Since it uses ssh for
all communication, it could prove very costly with high numbers of routers. It also requires
Python to be installed on all of the managed routers. Overall the best solution appears
to be writing a custom application for routers. Configuration changes that will need to be
propagated onto routers are probably sufficiently limited in scope that the utility brought
by existing robust configuration tools does not outweigh their disadvantages. Although
source codes for Ansible and Puppet are publicly available and could be modified for our
purpose, it would require extensive changes and make updates to new versions difficult.
Custom new application can be made very small in size, which is an important require-
ment. It can be installed as a user module on routers and with relatively small changes be
16


ported to a different type of device with Linux. Unlike Ansible or Puppet it would not add
additional level of encryption. Using NETCONF implementation as a communication pro-
tocol would spare some time and remove opportunities for creation of bugs, but given the
fact that a very simple communication protocol is sufficient, it would also cause unnecessary
and significant increase of the module’s size.
17



Download 1.67 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   41




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling