Module: Landrush::Cap::Linux::RedirectDns
- Defined in:
- lib/landrush/cap/linux/redirect_dns.rb
Class Method Summary collapse
- ._current(machine) ⇒ Object
- ._redirect_dns_rule(protocol, original_server, target_server, target_port) ⇒ Object
- .redirect_dns(machine, target = {}) ⇒ Object
Class Method Details
._current(machine) ⇒ Object
14 15 16 |
# File 'lib/landrush/cap/linux/redirect_dns.rb', line 14 def self._current(machine) machine.guest.capability(:configured_dns_server) end |
._redirect_dns_rule(protocol, original_server, target_server, target_port) ⇒ Object
18 19 20 |
# File 'lib/landrush/cap/linux/redirect_dns.rb', line 18 def self._redirect_dns_rule(protocol, original_server, target_server, target_port) "OUTPUT -t nat -p #{protocol} -d #{original_server} --dport 53 -j DNAT --to-destination #{target_server}:#{target_port}" end |
.redirect_dns(machine, target = {}) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/landrush/cap/linux/redirect_dns.rb', line 5 def self.redirect_dns(machine, target={}) %w[tcp udp].each do |proto| machine.guest.capability( :add_iptables_rule, _redirect_dns_rule(proto, _current(machine), target.fetch(:host), target.fetch(:port)) ) end end |