«

集群内网经过登陆节点可上网方法

叫个啥名字 发布于 阅读:418 Linux


一、服务器A,能访问外网
网卡eth1, 配置内网IP
vim /etc/sysconfig/network-scripts/ifcfg-eth1

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=11.11.11.1
NETMASK=255.255.255.0
GATEWAY=11.11.11.1 # 作为其它内网服务器的网关
ZONE=trusted

网卡eth2配置能连外网的IP
vim /etc/sysconfig/network-scripts/ifcfg-eth1

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME="eth1"
DEVICE="eth1"
ONBOOT="yes"
IPADDR=192.10.84.33 # 外网IP
NETMASK=255.255.255.0
GATEWAY=192.10.84.33 # 外网网关
ZONE=public

二、服务器B,只有内网IP,通过服务器A访问外网
eth1网卡连接内网
vim /etc/sysconfig/network-scripts/ifcfg-eth1

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR=11.11.11.2
NETMASK=255.255.255.0
GATEWAY=11.11.11.1 # 服务器A的内网IP地址
网关(GATEWAY)为服务器A的内网IP地址。

配置网卡之后需执行service network restart生效。
三、配置ipv4转发
修改服务器A配置文件 vi /etc/sysctl.conf,修改参数为1
net.ipv4.ip_forward = 1
生效: sysctl -p
四、配置服务器A使服务器B及其他内网服务器能访问外网
iptables -t nat -A POSTROUTING -s 11.11.11.2  -j SNAT --to-source 192.10.84.33         #11.11.11.2 对ip为11.11.11.2的机器生效, 也可以设置整个网段 11.11.11.0/255.255.255.0指整个11.11.11.0网段的IP都生效

然后看一下iptables默认规则是不是默认放行,用命令iptables -nL,如果是(policy ACCEPT)那么就是默认放行,无需设置下一步,否者需要进行下一步设置    iptables -A FORWARD 1 -s 11.11.11.1/24 -j ACCEPT   #允许来自内网(所有11.11.11.X地址段)  的传出连接。

五、端口转发

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 228 -j DNAT --to-destination 11.11.11.8:22    #将外网的228端口映射到11.11.11.8的22端口

六、保存iptables规则

iptables save   #上面的命令即时生效,若需要下次启动也可用,保存规则。

七、删除配置
1./etc/sysctl.conf 注释掉后保存,sysctl -p  #取消转发路由功能
2.iptables -t nat -nL --line-numbers     #列出iptables的所有NAT规则(无FORWARD规则)

然后用iptables -t nat -D POSTROUTING +第几行      # 删除POSTROUTING规则
           iptables -t nat -D PREROUTING    +第几行      # 删除PREROUTING规则

3.iptables -nL --line-number                 #列出iptables的所有输入输出转发规则

然后用iptables -D FORWARD +第几行      # 删除FORWARD规则

集群

请先 登录 再评论