Module: Landrush::Cap::Linux::RedirectDns

Defined in:
lib/landrush/cap/linux/redirect_dns.rb

Class Method Summary collapse

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