如何从外部访问内部?

时间:2018-10-25 08:55:10

标签: networking kubernetes centos flannel

我在一个节点上有两个网络接口。一个是内部网络,另一个是外部网络。内部网络是192.168.50.0/255.255.255.0(内部网络)。 外部网络为192.168.0.0/255.255.255.0。 Kubernetes由192.168.50.0/255.255.255.0组成。我想从另一个本地节点访问内部网络而不使用内部网络接口。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

没有子网掩码,我不明白它们是如何不同的网络。

但是,无论如何,您都需要启用将数据包从一个接口路由到另一个接口的功能。我假设您在Linux节点上,可以在其中启用ip转发。

echo 1 >> /proc/sys/net/ipv4/ip_forward

然后在iptables中设置一些规则以执行命名和转发:

示例规则:

# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT

# We allow traffic from the LAN side
iptables -A INPUT -i eth0 -j ACCEPT

######################################################################
#
#                         ROUTING
#
######################################################################

# eth0 is LAN
# eth1 is WAN

# Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Masquerade.
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# fowarding
iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

https://serverfault.com/questions/453254/routing-between-two-networks-on-linux