添加新的命令使生效

有时候linux默认安装的命令版本较低,我们需要安装较高版本的命令。比如,centos默认安装的python为2.6.6,安装2.7版本后,执行python -V查看还是2.6版本的python。此时首先想到的应该是环境变量可能有问题,
2.7版本的python安装在/usr/local/bin/下,2.6版本的python安装在/usr/bin/下,查看PATH变量

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

并没有问题,按理说应该是先找到2.7版本的。后来尝试执行source /etc/profile重新加载环境变量后问题解决。

### ### 问题分析 在使用 `iptables` 添加规则时,如果新规则未生效,通常是由以下几个原因导致: 1. **规则顺序问题** `iptables` 的规则是按顺序匹配的,一旦某条规则匹配成功,后续规则将不再处理。如果新规则添加到了拒绝规则之后,那么该规则实际上不会生效。例如,规则链末尾通常会有一条默认拒绝规则,所有未匹配的流量都会被阻止。因此,新添加的规则必须放在拒绝规则之前才能生效。可以通过指定插入位置来确保规则顺序正确: ```bash iptables -I INPUT 1 -p tcp --dport 82 -j ACCEPT ``` 上述命令将规则插入到 `INPUT` 链的第一条位置,确保其优先于其他规则[^1]。 2. **规则未持久化保存** 使用 `iptables` 命令添加的规则是临时的,系统重启或 `iptables` 服务重启后会丢失。为使规则永久生效,需将其保存到配置文件中。在 CentOS 系统中,可使用以下命令保存规则: ```bash service iptables save ``` 或者使用 `iptables-save` 命令手动保存规则: ```bash iptables-save > /etc/sysconfig/iptables ``` 确保 `iptables` 服务设置为开机自启,以保证规则在系统重启后仍然生效: ```bash chkconfig iptables on ```[^2] 3. **规则链默认策略限制** 即使添加了允许规则,如果链的默认策略为 `DROP` 或 `REJECT`,且规则未能匹配流量,数据包仍会被丢弃。可以通过以下命令查看当前链的默认策略: ```bash iptables -L -n ``` 如果默认策略为拒绝,确保新添加的规则能够正确匹配目标流量,并放置在拒绝规则之前。 4. **规则未正确匹配流量** 添加的规则可能由于协议、端口、状态等条件设置不当,未能正确匹配目标流量。例如,限制 `ICMP` 包速率的规则: ```bash iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT ``` 此规则仅允许每秒一个 `ICMP` 包,并在触发 10 个包时开始限制。如果实际流量模式与此不匹配,规则将无法生效。应根据实际需求调整匹配条件[^3]。 ### ### 解决方案 为确保新添加的 `iptables` 规则生效,应遵循以下步骤: 1. **检查规则顺序** 使用以下命令查看规则链的当前规则及行号: ```bash iptables -L -n --line-number ``` 确保新规则位于拒绝规则之前。如果规则顺序不正确,可以使用 `-I` 命令插入规则到指定位置: ```bash iptables -I INPUT 1 -p tcp --dport 82 -j ACCEPT ``` 2. **验证规则是否匹配流量** 使用 `tcpdump` 或 `iptables` 日志功能检查规则是否匹配预期流量: ```bash iptables -A INPUT -p tcp --dport 82 -j LOG --log-prefix "PORT 82 ACCESS: " ``` 查看系统日志 `/var/log/messages` 或 `/var/log/syslog`,确认规则是否触发。 3. **持久化保存规则** 添加规则后,使用以下命令保存规则,使其在系统重启后仍然有效: ```bash service iptables save ``` 或手动保存规则: ```bash iptables-save > /etc/sysconfig/iptables ``` 4. **检查链的默认策略** 确保链的默认策略不会阻止流量。例如,将 `INPUT` 链的默认策略设置为允许: ```bash iptables -P INPUT ACCEPT ``` 如果需要保持默认拒绝策略,确保规则链中有允许特定流量的规则。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值