档案软件专线部署实战:网络隔离与安全传输配置
一、环境规划与基础配置
在进行档案软件专线部署前,必须明确网络拓扑。本方案基于CentOS 7.9系统,采用双网卡配置:eth0连接互联网用于运维下载,eth1连接专线用于业务数据传输。档案系统服务端IP规划为内网192.168.10.10,专线网关为192.168.10.1。
1. 系统内核参数优化
档案软件通常涉及大文件上传下载,需调整系统内核参数以支持高并发TCP连接及大文件传输。直接编辑/etc/sysctl.conf文件,追加以下配置:
```bash vi /etc/sysctl.conf ```在文件末尾粘贴以下内容:
```text net.core.somaxconn = 32768 net.ipv4.tcp_max_tw_buckets = 10000 net.ipv4.tcp_fin_timeout = 15 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_keepalive_intvl = 30 net.ipv4.tcp_keepalive_probes = 3 net.core.rmem_default = 262144 net.core.rmem_max = 16777216 net.core.wmem_default = 262144 net.core.wmem_max = 16777216 fs.file-max = 655350 ```保存并退出,执行以下命令使配置生效:
```bash sysctl -p ```2. 双网卡网络配置
进入网络配置目录,配置专线网卡eth1。确保eth0保持原有配置不变,仅修改eth1:
```bash cd /etc/sysconfig/network-scripts/ vi ifcfg-eth1 ```输入以下完整配置内容:
```text DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.10.10 NETMASK=255.255.255.0 GATEWAY=192.168.10.1 DNS1=114.114.114.114 ```注意:如果eth0已设置默认网关,此处需谨慎处理路由冲突。建议eth0不设置GATEWAY,或通过策略路由解决。重启网络服务:
```bash systemctl restart network ```二、基础运行环境搭建
档案软件通常依赖JDK和MySQL数据库。以下命令直接安装并配置环境,无需手动下载包。
1. JDK 1.8 安装配置
执行以下命令安装JDK:
```bash yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel ```配置环境变量,编辑/etc/profile:
```bash echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> /etc/profile echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile source /etc/profile ```验证安装:
```bash java -version ```2. MySQL 8.0 数据库部署
直接添加官方Yum源并安装:
```bash yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm yum install -y mysql-server ```启动数据库并设置开机自启:
```bash systemctl start mysqld systemctl enable mysqld ```获取初始临时密码:
```bash grep 'temporary password' /var/log/mysqld.log ```执行数据库安全初始化,root密码请自行替换为强密码(如 Archiv@2024),后续步骤统一使用此密码:
```bash mysql_secure_installation ```登录MySQL创建档案软件专用库:
```bash mysql -uroot -p ```在MySQL命令行中执行:
```sql CREATE DATABASE archives_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE USER 'arch_user'@'%' IDENTIFIED BY 'ArchivPass@2024'; GRANT ALL PRIVILEGES ON archives_db. TO 'arch_user'@'%'; FLUSH PRIVILEGES; EXIT; ```三、档案软件应用部署
假设档案软件安装包为archives.war,使用内置Tomcat运行。将应用包上传至/opt目录。
1. 应用解压与配置
```bash mkdir -p /opt/archives cp /opt/archives.war /opt/archives/app.war cd /opt/archives jar -xf app.war ```修改数据库连接配置文件,通常位于./WEB-INF/classes/application.yml或jdbc.properties。以下以常见的jdbc.properties为例:
```bash vi /opt/archives/WEB-INF/classes/jdbc.properties ```
修改以下关键参数:
```text jdbc.url=jdbc:mysql://localhost:3306/archives_db?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai jdbc.username=arch_user jdbc.password=ArchivPass@2024 ```2. 配置为系统服务
为了方便管理,将应用配置为Systemd服务。创建服务文件:
```bash vi /usr/lib/systemd/system/archives.service ```写入以下内容:
```text [Unit] Description=Archives Management System After=syslog.target network.target [Service] Type=simple User=root WorkingDirectory=/opt/archives ExecStart=/usr/lib/jvm/java-1.8.0-openjdk/bin/java -jar /opt/archives/app.war Restart=always RestartSec=10 [Install] WantedBy=multi-user.target ```重载并启动服务:
```bash systemctl daemon-reload systemctl start archives systemctl status archives ```四、专线网络策略与安全加固
核心步骤:配置防火墙,仅允许专线网段访问档案服务端口(假设应用端口为8080),阻断公网访问。
1. 配置Firewalld策略
启动防火墙并设置默认区域为drop(丢弃所有非显式允许的包):
```bash systemctl start firewalld systemctl enable firewalld firewall-cmd --set-default-zone=drop ```允许本地回环和SSH管理(建议SSH仅通过eth0管理,此处为简化配置允许所有,生产环境请限制SSH来源IP):
```bash firewall-cmd --permanent --zone=trusted --add-interface=lo firewall-cmd --permanent --zone=drop --add-service=ssh ```关键操作:仅允许专线网段(192.168.10.0/24)访问档案应用端口8080:
```bash firewall-cmd --permanent --zone=drop --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port protocol="tcp" port="8080" accept' ```重载防火墙使规则生效:
```bash firewall-cmd --reload ```查看规则确认:
```bash firewall-cmd --list-all ```2. MTU设置(避免专线分片丢包)
专线环境MTU值可能不同于标准以太网(1500),若传输大文件失败,需调整MTU。通常专线MTU建议设置为1400或1450。编辑网卡配置:
```bash vi /etc/sysconfig/network-scripts/ifcfg-eth1 ```添加或修改:
```text MTU=1400 ```重启网络生效:
```bash systemctl restart network ```五、部署验证与故障排查
完成所有配置后,需在专线对端(客户端)进行验证。
1. 连通性测试
在客户端机器执行Ping测试,确保专线链路畅通:
```bash ping 192.168.10.10 -c 4 ```2. 端口可用性测试
使用Telnet或Nmap测试应用端口8080是否可达:
```bash telnet 192.168.10.10 8080 ```若连接成功,说明防火墙策略生效且服务正常运行。
3. 日志排查
如果无法访问,优先检查服务日志:
```bash journalctl -u archives -f tail -f /opt/archives/logs/sys.log ```检查防火墙丢弃日志:
```bash dmesg | grep DROP ```若出现大文件上传中断,请检查MTU设置及Nginx(如有反向代理)的client_max_body_size配置。本指南为直连模式,重点检查系统内核参数中的文件句柄数限制。