$INFORMIXDIR,如/opt/IBM/informix),并备份原有配置文件;sudo);hostname)、IP地址(ip addr show)及计划使用的端口(默认9088)。Informix依赖稳定的网络接口配置,需通过/etc/network/interfaces文件设置静态IP(Debian传统方式,若使用netplan需调整对应yaml文件)。
编辑配置文件:
sudo nano /etc/network/interfaces
添加/修改以下内容(以eth0为例,若为ens33则替换):
auto eth0
iface eth0 inet static
address 192.168.1.100 # 服务器静态IP
netmask 255.255.255.0 # 子网掩码
gateway 192.168.1.1 # 网关
dns-nameservers 8.8.8.8 8.8.4.4 # DNS服务器
保存后重启网络服务:
sudo systemctl restart networking
验证网络连通性:
ping -c 4 8.8.8.8
onconfig是Informix的主配置文件,需修改以下关键参数:
编辑文件:
sudo nano $INFORMIXDIR/etc/onconfig
HOSTNAME your_hostname # 如"debian-server"
9088,可根据需求修改):PORT 9088 # 若修改,需同步更新sqlhosts文件
NETTYPE定义协议类型、CPU VP数量及最大连接数):NETTYPE soctcp,4,200,NET # 使用TCP协议,4个CPU VP,每个VP最多200个连接
LISTEN_TIMEOUT 60 # 监听超时时间(秒)
CONNECT_TIMEOUT 20 # 连接超时时间(秒)
保存文件后,需重启Informix服务使参数生效。
sqlhosts文件定义了数据库服务器别名、网络协议、IP地址及端口,客户端通过此文件连接服务器。
编辑文件:
sudo nano $INFORMIXDIR/etc/sqlhosts
添加以下内容(以myserver为例):
myserver onsoctcp 192.168.1.100 9088
参数说明:
myserver:服务器别名(客户端连接时使用);onsoctcp:网络协议(onsoctcp表示TCP/IP,olsoctcp表示SSL加密TCP);192.168.1.100:服务器IP地址(需与onconfig中的HOSTNAME解析一致);9088:监听端口(需与onconfig中的PORT一致)。Debian默认使用iptables或firewalld作为防火墙,需开放Informix端口(如9088)。
sudo iptables -A INPUT -p tcp --dport 9088 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 9088 -j ACCEPT
sudo service iptables save # 保存规则(若系统支持)
sudo firewall-cmd --permanent --add-port=9088/tcp
sudo firewall-cmd --reload
验证端口是否开放:
sudo netstat -tulnp | grep 9088
# 或
sudo ss -tulnp | grep 9088
应显示LISTEN状态及对应的IP、端口。
onstat -g ntt # 查看网络线程状态
onstat -g cat # 查看客户端连接情况
若输出中包含NET类型的线程且状态为ACTIVE,说明网络配置正常。
使用dbaccess工具(Informix自带)测试连接:
dbaccess - - <<EOF
CONNECT TO myserver@mydatabase;
EOF
若提示Connected,则说明网络配置成功。
若需加密通信,需生成SSL证书并在onconfig中配置:
SSL_KEY_FILE $INFORMIXDIR/etc/server.key
SSL_CERT_FILE $INFORMIXDIR/etc/server.crt
SSL_CA_FILE $INFORMIXDIR/etc/ca.crt
SSL_CIPHERS ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH
修改sqlhosts中的协议为olsoctcp:
myserver olsoctcp 192.168.1.100 9088
若服务器有多个网卡,可通过ifenslave工具绑定逻辑接口(如bond0),提升带宽和冗余。需在onconfig中指定绑定的IP地址:
NETTYPE soctcp,1,200,NET,192.168.1.100
cp onconfig onconfig.bak);systemd管理Informix服务,可使用systemctl restart informix替代onmode命令(需根据实际服务名调整);onstat -g ntt),及时调整连接池参数。