2021年7月

crontab 执行脚本时出现了已经成功执行,实际执行结果有问题的情况;

这个问题关键在于 环境变量 作祟;

crontab 在执行命令时,默认的环境变量不完整。

解决办法:

# 查看当前的环境变量
echo $PATH
# 编辑 crontab
crontab -e


# 在第一行增加你的环境变量 PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

安装 resolvconf

apt install resolvconf

vi /etc/resolvconf/resolv.conf.d/head

在文件中增加
nameserver 8.8.8.8
nameserver 8.8.4.4

重启网络服务,使新 DNS 配置生效

systemctl restart networking

查看 dns 服务器

cat /etc/resolv.conf

一、修改 /etc/default/ufw

vi /etc/default/ufw

将 DEFAULT_FORWARD_POLICY="DROP" 的 DROP 改为 ACCEPT

二、修改 /etc/ufw/sysctl.conf

vi /etc/ufw/sysctl.conf

添加 net/ipv4/ip_forward=1 ,注意不要重复添加。

三、修改 /etc/ufw/before.rules

将以下内容添加到过滤器规则(*filter)之前
( 示例:将本机 33.11.11.11:6677 转发到 88.66.66.66:8899 端口)
不适用于专有网络内网vps,例如阿里云;

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

-A PREROUTING -p tcp --dport 3344 -j DNAT --to-destination 88.66.66.66:8899
-A PREROUTING -p udp --dport 3344  -j DNAT --to-destination 88.66.66.66:8899
-A POSTROUTING -p tcp -d 88.66.66.66 --dport 8899 -j SNAT --to-source 33.11.11.11
-A POSTROUTING -p udp -d 88.66.66.66 --dport 8899 -j SNAT --to-source 33.11.11.11

COMMIT

最后重启 reboot ;

查看指定规则表状态:

iptables -t nat -vnL POSTROUTING
iptables -t nat -vnL PREROUTING

其他命令:

#查看 nat 表中所有链的规则
iptables -t filter  -L
#查看 nat 表中所有链的规则及地址、端口信息
iptables -t filter  -nL