温馨提示×

ubuntu如何配置informix网络

小樊
36
2025-11-29 09:16:47
栏目: 智能运维

Ubuntu 上配置 Informix 网络的完整步骤

一 系统网络准备

  • 确认网卡名称与地址:使用命令查看接口与 IP,例如:ip addr show(或 ifconfig)。
  • Ubuntu 18.04/20.04/22.04/24.04 通常使用 Netplan:编辑 /etc/netplan/*.yaml(如 50-cloud-init.yaml),示例:
    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: no
          addresses: [192.168.10.50/24]
          gateway4: 192.168.10.1
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]
    
    应用:sudo netplan apply。如使用 NetworkManager,可用 nmcli 或相应配置文件管理。完成后用 ip addr show eth0ping 测试连通性。

二 服务器端 TCP/IP 网络配置

  • 配置主机名解析:编辑 /etc/hosts,为每个网卡添加 IP 地址—主机名 条目(可含别名)。示例:
    192.168.10.10  informix-db
    192.168.10.11  app01
    
  • 配置服务端口:编辑 /etc/services,为数据库实例定义唯一的服务名与端口(协议为 tcp)。示例:
    informix_sqlexec  1526/tcp
    
    端口号需唯一;使用 1024 及以上 的端口(低于 1024 仅 root 可用)。
  • 配置 sqlhosts:编辑 $INFORMIXDIR/etc/sqlhosts,映射服务器名、协议、主机、服务名。示例:
    myserver onsoctcp informix-db informix_sqlexec
    
    说明:
    • 协议常用 onsoctcp(TCP/IP 套接字);
    • 主机名必须在 /etc/hosts 可解析;
    • 服务名必须与 /etc/services 一致;
    • 若涉及多服务器(如 ER、HDR、RSS),需为 DBSERVERNAMEDBSERVERALIASES 配置可用的 TCP/IPIPCSTR 连接。
  • 防火墙放行:开放相应端口(以 firewalld 为例):
    sudo firewall-cmd --permanent --add-port=1526/tcp
    sudo firewall-cmd --reload
    
    如使用 ufwsudo ufw allow 1526/tcp
  • 验证监听:
    ss -lntp | grep 1526
    
    以上要点(hosts、services、sqlhosts 的作用与一致性,端口范围限制,跨服务器通信需 TCP/IP 或 IPCSTR)均为 IBM 官方要求。

三 客户端连接配置

  • 设置环境变量(以 informix 用户为例):
    export INFORMIXDIR=/opt/IBM/informix
    export INFORMIXSERVER=myserver
    export ONCONFIG=onconfig
    export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
    export PATH=$INFORMIXDIR/bin:$PATH
    
  • 配置客户端 sqlhosts:在客户端 $INFORMIXDIR/etc/sqlhosts 添加与服务器端一致的记录:
    myserver onsoctcp informix-db informix_sqlexec
    
  • 测试连接:
    dbaccess - -
    connect to 'myserver@informix-db' user 'your_user' using 'your_password';
    
    或使用命令行工具(如 isql 或应用通过 ODBC/DRDA)按相同方式连接。

四 常见问题与排查

  • 端口与服务名不一致:核对 sqlhosts 的服务名与 /etc/services 完全一致;端口冲突或占用会导致监听失败。
  • 主机名不可达:确保 /etc/hosts 或 DNS 能解析 sqlhosts 中的主机名;跨主机通信时两边配置需一致。
  • 防火墙/安全组阻断:确认 云安全组主机防火墙 已放行对应 TCP 端口
  • 权限与端口范围:避免使用 <1024 的端口(除非以 root 运行且确有需要)。
  • 监听未启动:检查 onstat -g nttss -lntp;确认实例已启动且 DBSERVERNAME/DBSERVERALIASES 包含可用的 TCP/IPIPCSTR 协议。

0