例子:

服务器A:192.168.1.7
服务器B: 192.168.1.160

实现:

实现将本机 192.168.1.7:7410 端口流量转发给 192.168.1.160:9200

一、内核允许IP转发

1.1 会话

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

1.2 永久

vi /etc/sysctl.conf

添加如下代码:

net.ipv4.ip_forward=1

重启network服务

systemctl restart network

重启network服务 Debian

service networking restart

重启network服务 Centos8

nmcli c reload

查看是否修改成功

sysctl net.ipv4.ip_forward

二、加载内核模块

modprobe ip_conntrack

三、设置filter表基础策略:允许入包/出包/转发(可进一步细化)

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

四、设置基础会话规则

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

五、端口转发流量

iptables -t nat -A PREROUTING -d 192.168.1.7/32 -p tcp --dport 7410 -j DNAT --to-destination 192.168.1.160:9200;
iptables -t nat -A POSTROUTING -d 192.168.1.160/32 -p tcp --dport 9200 -j SNAT --to-source 192.168.1.7;

六、保存

service iptables save
service iptables restart

七、测试

telnet 192.168.1.7:7410 

其他命令:

停止
service iptables stop
查看状态
service iptables status
备份
iptables-save > ables.bak
还原
iptables-restore < iptables.bak