CENTOS 6.0 开放端口80 3306 22等 iptables

#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
然后保存:
#/etc/rc.d/init.d/iptables save

 

查看打开的端口:
# /etc/init.d/iptables status

-------------------------------------------------------
补充说明:

#关闭防火墙
/etc/init.d/iptables stop
service iptables stop # 停止服务
#查看防火墙信息
/etc/init.d/iptables status

#开放端口:8080
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
#重启防火墙以便改动生效:(或者直接重启系统)
/etc/init.d/iptables restart
#将更改进行保存
/etc/rc.d/init.d/iptables save

另外直接在/etc/sysconfig/iptables中增加一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT

#永久关闭防火墙
chkconfig –level 35 iptables off #此方法源自网络,未实验,安全考虑拒绝使用此方法

<think>好的,我现在需要帮助用户在服务器192.168.6.61上开放端口给局域网内的其他电脑访问。用户之前问过关于telnet连接被拒绝的问题,现在可能是在同一台服务器上配置端口访问。首先,我需要考虑用户可能的需求是什么。他们可能想要运行某个服务,比如Web服务器、数据库,或者自定义应用,需要让局域网内的其他设备能够访问这个服务。 接下来,我需要确定用户的操作系统类型,因为不同的Linux发行版(如CentOS、Ubuntu)在防火墙配置上有所不同。用户可能不熟悉这些区别,所以我的回答需要涵盖常见的系统,比如使用firewalld的系统和用ufw的系统,以及直接使用iptables的情况。 然后,我需要分解步骤。首先,确保服务本身在正确的端口上监听。用户可能需要检查服务配置,比如Nginx或Apache的配置文件,确认绑定地址是否正确,是否监听0.0.0.0或者特定的IP。如果服务只绑定到127.0.0.1,那么局域网内的其他电脑是无法访问的,必须改为0.0.0.0或者服务器的局域网IP,比如192.168.6.61。 接下来是防火墙设置。如果服务器启用了防火墙,比如firewalld或ufw,需要添加规则允许特定端口的流量。这里要详细说明如何添加端口,包括TCP和UDP的区别,但大多数情况下用户可能只需要TCP。同时,可能需要提醒用户注意区域设置,比如在firewalld中是否将接口在正确的区域(如public或internal)。 另外,SELinux可能会阻止服务绑定端口,尤其是在使用非标准端口时。用户可能需要调整SELinux策略,使用semanage命令添加端口,或者暂时禁用SELinux进行测试。不过,建议用户不要完全禁用SELinux,而是正确配置它。 还有内部防火墙,比如iptables,用户可能需要检查是否有规则阻止了流量。有些情况下,服务可能配置正确,但iptables规则丢弃了数据包,需要添加相应的ACCEPT规则。 网络接口的绑定地址也很重要。用户需要确认服务绑定的IP地址是否正确,是否绑定到了192.168.6.61而不是localhost。例如,在Nginx配置中listen指令应该指定服务器的局域网IP或0.0.0.0。 最后,测试步骤必不可少。用户完成配置后,应该从局域网内的另一台电脑使用telnet、curl或nmap来测试端口是否开放。如果仍然无法连接,需要逐步排查:服务是否运行、端口监听情况、防火墙规则、SELinux状态等。 可能遇到的常见问题包括:服务未启动、绑定地址错误、防火墙未正确配置、SELinux限制,或者网络路由问题。例如,服务器和客户端是否在同一个子网,是否有路由器或网络设备阻止了流量。此外,用户可能混淆了TCP和UDP端口,需要确认服务使用的协议类型。 在回答时,应该结构清晰,分步骤说明,并提供具体的命令示例,如使用ss或netstat检查端口监听,使用firewall-cmd添加端口,使用ufw允许端口等。同时,提醒用户注意安全性,开放端口可能会带来风险,建议仅开放必要的端口,并使用防火墙限制访问范围,比如只允许局域网的IP段。 总结来说,我的回答需要涵盖服务配置、防火墙设置、SELinux配置、网络接口绑定以及测试验证,确保用户能够逐步检查和调整设置,最终成功开放端口供局域网访问。</think>以下是在服务器192.168.6.61开放端口给局域网访问的完整指南: --- ### 一、操作流程图 ```mermaid graph TD A[开放端口] --> B{服务配置} B --> C[检查服务绑定地址] B --> D[确认端口监听] A --> E{防火墙配置} E --> F[firewalld/ufw设置] E --> G[iptables设置] A --> H{SELinux配置} A --> I[局域网连性测试] ``` --- ### 二、详细操作步骤 #### 1. 确认服务绑定地址(关键) ```bash # 查看服务监听的IP地址(以80端口为例) sudo ss -tlnp | grep ':80' ``` **输出解读**: - `0.0.0.0:80` 表示接受所有来源连接 ✅ - `192.168.6.61:80` 正确绑定服务器IP ✅ - `127.0.0.1:80` 仅限本机访问 ❌ 需修改 **常见服务配置示例**: ```nginx # Nginx配置示例(/etc/nginx/sites-enabled/default) server { listen 192.168.6.61:80; # 明确绑定服务器IP # listen 80; # 等效于 0.0.0.0:80 } ``` #### 2. 防火墙配置(分系统操作) **CentOS/RHEL (firewalld)**: ```bash # 永久开放TCP端口 sudo firewall-cmd --permanent --add-port=80/tcp # 指定源IP范围(可选) sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.6.0/24" port protocol="tcp" port="80" accept' sudo firewall-cmd --reload ``` **Ubuntu/Debian (ufw)**: ```bash sudo ufw allow from 192.168.6.0/24 to any port 80 sudo ufw enable # 如果未启用防火墙 ``` #### 3. 处理SELinux限制 ```bash # 查看当前端口标签 semanage port -l | grep http_port_t # 添加新端口到SELinux策略 sudo semanage port -a -t http_port_t -p tcp 8080 # 以8080为例 # 临时解决方案(测试用) sudo setenforce 0 ``` #### 4. 验证配置 ```bash # 本机测试 telnet 127.0.0.1 80 # 从局域网其他机器测试(替换为实际客户端IP) telnet 192.168.6.61 80 nmap -p 80 192.168.6.61 ``` --- ### 三、高级配置场景 #### 场景1:仅开放给特定IP段 ```bash # firewalld限制访问源 sudo firewall-cmd --permanent --add-rich-rule=' rule family="ipv4" source address="192.168.6.0/24" port protocol="tcp" port="80" accept' ``` #### 场景2:端口转发 ```bash # 将外网端口8080转发到内网80 sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.6.61:80 sudo iptables -A FORWARD -p tcp -d 192.168.6.61 --dport 80 -j ACCEPT ``` --- ### 四、故障排查表 | 现象 | 检查命令 | 解决方案 | |------|---------|----------| | 本机可连,局域网不 | `ss -tln` | 检查服务绑定地址是否为0.0.0.0或服务器IP | | 客户端报`Connection refused` | `systemctl status firewalld` | 关闭防火墙或添加行规则 | | 服务日志显示权限被拒绝 | `ausearch -m avc -ts recent` | 调整SELinux策略 | | 端口显示filtered | `tcpdump -i eth0 port 80` | 检查网络设备(交换机/路由器)ACL | --- ### 五、安全建议 1. **最小化开放原则**: - 仅开放必要端口 - 使用非标准端口+端口转发(如外部访问8080,内部映射到80) 2. **访问控制**: ```bash # 只允许指定IP段访问 sudo ufw allow from 192.168.6.0/24 to any port 22 ``` 3. **日志监控**: ```bash # 查看防火墙拦截日志 sudo journalctl -u firewalld -f | grep DROP ``` 4. **定期审查**: ```bash # 查看已开放端口 sudo firewall-cmd --list-all sudo ufw status numbered ``` --- 过以上步骤配置后,局域网内其他设备即可过`http://192.168.6.61:端口号`访问服务。建议先临时关闭防火墙测试基本连性,再逐步添加安全限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值