静态配置
1.功能描述
在很多时候,比如流量劫持、ftp被动模式代理等功能需要能够支持流量端口转发。比如需要将10000到11000端口范围的所有流量都统一转到12000端口上,然后在12000端口上接收所有的报文进行后续处理。
Privilege Agent 进程将以 root 用户运行,并监听 /worker_a/# 主题, 所有动态配置的消息先发往该进程,处理后,由该进程中的 kv 模块将需持久化的消费发往 /dyn/${module} 主题
range 配置支持集群:需要先配置cluster_name 集群名称在range指令前
2.依赖模块
njet.onf :
load_module modules/njt_range_module.so;
njet_ctrl.conf
load_module modules/njt_stream_stsd_module.so;
3.配置样例
njet.conf
load_module modules/njt_range_module.so;
cluster_name helper;
node_name node1;
worker_processes auto;
#user root;
error_log logs/error.log info;
pid logs/njet.pid;
events {
worker_connections 1024;
use epoll;
}
#配置两条range指令
range type=tcp src_ports=11000:12000 dst_port=13000;
range type=tcp src_ports=10000 dst_port=14000;
#默认路径为/usr/sbin/iptables, 如果系统路径不一致需要调用该指令设置下路径
range iptables_path=/usr/sbin/iptables;
http {
dyn_kv_conf conf/iot-work.conf;
include mime.types;
include conf.d/*.conf;
server {
listen 8100;
server_name localhost;
location / {
# root html;
#index index.html index.htm;
return 200 "8100";
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
njet_ctrl.conf
load_module modules/njt_http_sendmsg_module.so;
load_module modules/njt_ctrl_config_api_module.so;
load_module modules/njt_doc_module.so;
cluster_name helper;
node_name node1;
error_log logs/error-ctrl.log info;
events {
worker_connections 1024;
}
http {
dyn_sendmsg_conf conf/iot-ctrl.conf;
access_log logs/access_ctrl.log combined;
include mime.types;
server {
listen 8081;
location /api {
dyn_module_api;
}
location /doc {
doc_api;
}
location /metrics {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
}
4.调用样例
启动OpenNJet前
查询系统iptables 规则
启动OpenNJet后
重新查询iptables规则,发现两条规则生效
reload重启后
重新查询,发现两条规则还在
停止OpenNJet后
重新查询,两条规则删除