赞
踩
以下是我的记录
两台Ubuntu,名为AB
现在AB直连,假设 eth0
是A连接到互联网的接口,而 eth1
是要连接到服务器B的接口。
将两台服务器通过网线直接连接起来以共享网络连接。
这个过程通常称为“桥接”网络连接。
为了让服务器B可以通过服务器A上网,需要在服务器A上设置网络共享。
/etc/sysctl.conf
文件,确保包含以下行没被注释:net.ipv4.ip_forward=1
sudo sysctl -p
以应用这个更改iptables
设置NAT,务必注意更换网卡sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
B机设置为静态IP, 直接给 192.168.1.2
就行,掩码255.255.255.0
,网关 192.168.1.1
DNS服务器为 192.168.1.1
8.8.8.8
8.8.4.4
补一个A机器的操作,将A机与B机直连的那个口IP也搞为静态IP
直接给 192.168.1.1
就行,掩码255.255.255.0
,网关 192.168.1.1
此时可以尝试从A机ssh连接到B机,如果能通,或者端口拒绝,说明俩机的静态IP配置好了,如果这一步没OK,则从新搞IP,直到这一步OK,当然,直接ping,ping通也行
注意每一步似乎都要重新开关一下网络连接(我用的是图像化操作)
在 Linux 系统中,net.ipv4.ip_forward=1 设置是用来启用 IP 转发功能的。默认情况下,大多数 Linux 系统都是将这项功能关闭的,因为大多数系统被配置成单一的工作站,不需要转发和路由功能。
当设置 net.ipv4.ip_forward=1 时,告诉系统内核允许在网络接口之间转发数据包。这样,系统就可以充当路由器的角色,管理和转发进入的数据包到正确的目的地。
当前场景,服务器 A 有两个网络接口,其中一个连接到互联网,另一个将与服务器 B 直接相连。要使服务器 A 能够转发从服务器 B 来的数据包到互联网,以及反过来,需要在服务器 A 上启用 IP 转发功能。
要激活这个设置,需要编辑 /etc/sysctl.conf 文件并设置 net.ipv4.ip_forward 为 1。然后通过执行 sudo sysctl -p 命令(或者重启系统)来应用这个更改。
这是实现局域网内的设备(如服务器 B)通过另一台设备(服务器 A)连接到外部网络(如互联网)的关键步骤。
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
以上这些 iptables 命令配置了服务器 A 的防火墙规则,以便它可以转发来自服务器 B 的流量,并允许这些流量通过服务器 A 的互联网连接出去。下面是每条命令的解释:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE:
这条命令添加了一个 NAT (网络地址转换) 规则到 iptables 的 POSTROUTING 链。这个命令的作用是:
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT:
这条命令设置了转发规则,用来允许从互联网(通过 eth0)返回的与已经建立的连接相关的数据包或者已经建立的连接的数据包通过服务器 A 到达服务器 B。
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT:
这条命令允许从服务器 B (eth1) 发出的所有流量通过服务器 A 到互联网 (eth0)。
这些规则配置了服务器 A 作为一个路由器,允许服务器 B 的出站和入站流量通过服务器 A 的互联网连接。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。