Rah*_*hul 7 http ssh routing iptables port-forwarding
我没有路由器,所以我将 Linux 系统变成了一个具有 CentOS 6.4 的路由器,用于将公共网络流量转发到我的本地 LAN。它有两个 NIC 卡。一个用于公共 IP 地址 (eth1),另一个用于私有 IP 地址 (eth2)。
我有一台连接到本地 LAN 的服务器,假设为 192.168.1.2。
xxxx 是公网 IP 地址(这个 IP 地址在 eth1 上)。
Linux系统路由器IP地址假设为192.168.1.1(该IP地址在eth2上)。
我希望当来自任何地方的任何网络的人使用它时,即,
ssh x.x..x.x
(公共 IP 地址)或使用PuTTY
它将转到服务器。
我禁用了服务器上的 SELinux 和 iptables 防火墙。
我在 Linux 系统路由器上做了一些 Iptables 修改,但它本身作为路由器工作,而不是来自其他网络和同一网络的主服务器。
iptables -t nat -A PREROUTING -p tcp -d 192.168.1.1 --dport 22 -j DNAT --to-destination 192.168.1.2:22
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
我想再次使用来自同一 Linux 系统路由器的 iptables 将所有 HTTP (80) 流量转发到我的内部服务器。
解决这个问题的方法是什么?
首先确保在内核中启用了数据包转发
# echo 1 > /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)
您还可以通过添加以下行来使其永久化 /etc/sysctl.conf
net.ipv4.ip_forward = 1
Run Code Online (Sandbox Code Playgroud)
您必须在充当路由器的 Linux 机器上执行此操作。您可以在路由器机器上尝试以下规则。
iptables -t nat -A PREROUTING -i eth1 -d x.x.x.x -p tcp --dport 22 -j DNAT --to-destination 192.168.1.2:22
Run Code Online (Sandbox Code Playgroud)
也让我们知道您的 NAT 规则从路由器盒的输出。
iptables -t nat -L -n -v
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
58951 次 |
最近记录: |