DD-WRT не способен к выделению физического порта на Ваших аппаратных средствах как большинство брандмауэров, может, однако это может, конечно, обработать демилитаризованную зону / задачи типа NAT, которые являются первичной функцией большинства брандмауэров.
http://www.bizsystems.net/howto/DD-WRT_DMZ-with-static-public-subnet.html
Я согласен с тем, что augeas - безусловно, лучший ответ на то, что вы пытаетесь.
Я также порекомендовал бы ресурс file_line
из stdlib ] кукольная библиотека. Как правило, он намного легче, чем augeas.
Вам нужно будет определить один ресурс для каждой строки, и если порядок важен, вы можете добавить зависимости между вызовами.
Пример использования:
file_line { "no_ipv6_networking":
path => "/etc/sysconfig/network",
line => "NETWORKING_IPV6=no",
match => "^NETWORKING_IPV6=",
}
Вы можете использовать для этого тип augeas
, но идеальным решением будет использование netcf
, поскольку вы хотите управлять сетевыми интерфейсами.
] Некоторое время назад я запустил Puppet Netcf провайдера . Он все еще не готов к производству , но если у вас есть некоторые навыки Ruby, это, вероятно, лучшее решение для ваших нужд (и PR также, безусловно, приветствуются).
Провайдер Netcf принимает XML определение интерфейса в качестве входных данных, например:
netcf_if {"eth1":
ensure => up,
definition => '
<interface type="ethernet" name="eth1">
<start mode="onboot"/>
<protocol family="ipv4">
<ip address="192.168.0.5" prefix="24"/>
<route gateway="192.168.0.1"/>
</protocol>
</interface>
';
}
Вы можете найти больше примеров определений XML в репозитории Netcf .