我有一个我希望用作 NAT 实例的 Ubuntu 机器(除其他外)。我宁愿避免使用 Amazon 提供的 NAT AMI,而是自己配置 NAT。
目前,我的主机只有一个网络接口(如http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html 中所示)。
我是否可以将我的 Ubuntu 主机配置为 Amazon 网络中其他主机的 NAT 实例?
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
5 454 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0
Run Code Online (Sandbox Code Playgroud)
我尝试在 Ubuntu 主机 (10.200.0.51) 中配置 NAT 规则。我的第二台主机位于不同的网络 (10.200.10.41/24) 上。所以我写道:
route add -net 10.200.0.0 netmask 255.255.255.0 dev eth0 # So I can reach 10.200.0.51
route add default gw 10.200.0.51
Run Code Online (Sandbox Code Playgroud)
但是机器失去了连接。
我对亚马逊中 NAT 实例和路由的使用有什么误解?
我正在尝试/etc/hosts
使用 puppet管理我的文件,但我不喜欢内部的“主机”类型,如果可能,我想使用我自己的模板。
因此,我定义了一个“主机”资源:
# Basic hosts configuration
class hosts {
# Host resource
define host (
$address,
$names
) {
}
Network::Hosts::Host {
before => File['/etc/hosts']
}
# Configure hosts file
file {
"/etc/hosts":
ensure => present,
checksum => md5,
owner => root,
group => root,
mode => 0644,
content => template("network/hosts.erb"),
}
Run Code Online (Sandbox Code Playgroud)
在其他地方,我定义了主机资源:
network::hosts::host { 'puppet.test.lan':
address => '192.168.56.101',
names => 'puppet',
}
Run Code Online (Sandbox Code Playgroud)
我想在我的模板中包含已定义主机的列表,但我不知道如何迭代资源及其属性。我尝试使用字符串连接,但无法使其工作并且不是很优雅。
如何遍历所有定义的主机并从模板中包含它们?
我刚刚开始学习 Web 服务器管理。我注意到我经常在 Ubuntu 上收到此更新消息:
xx packages can be updated
xx updates are security update
Run Code Online (Sandbox Code Playgroud)
当我看到它时:
sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
如果这是正确的?有没有办法让这个任务自动完成,也许所有天都在同一时间或当 x 更新可用时?