常用linux命令
创建文件夹
mkdir asd
linux服务器常用命令
sudo rebot
删除目录.目录文件名和文件名不可相同在linux系统中
sudo rm -r /etc/systemd/system/apphub.service
更改目录权限
chmod -R a+rw /usr/share/nginx/html/
创建文件夹
mkdir test
查找特定服务的ip
ps aux | grep apphub
这会显示包含"apphub"的所有进程。找到你的服务进程,然后记下PID。
然后,你可以使用以下命令来查看该进程的网络连接:
sudo netstat -tunp | grep <PID>
sudo ss -tunp | grep <PID>
在这里,<PID>是你的服务进程的PID。这些命令会显示该进程的所有TCP和UDP连接。
在输出的每一行中,"Local Address"列显示了你的服务正在监听的地址和端口,"Foreign Address"列显示了与你的服务建立连接的远程地址和端口。
如果你的服务是客户端应用,即主动发起连接,那么"Local Address"就是源地址,"Foreign Address"就是目的地址。如果你的服务是服务器应用,即接受连接,那么情况就相反。
删除iptable规则
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
这些命令的含义如下:
-F
:删除所有链中的规则。-X
:删除用户自定义的链。-t nat
和-t mangle
:选择要操作的表,nat
和mangle
分别是iptables的两个表。-P INPUT ACCEPT
,-P FORWARD ACCEPT
和-P OUTPUT ACCEPT
:设置默认策略为接受。这意味着,如果一个数据包没有匹配到任何规则,那么默认的操作就是接受这个数据包。
请注意,这些命令需要root权限来执行。如果你没有登录为root,你需要使用sudo
前缀来执行这些命
iptables规则限制连接数,
添加白名单规则:在设置限制规则之前,首先需要添加两个规则,允许来自这两个地址的所有请求:
sudo iptables -I INPUT -p tcp -s 172.31.12.79 -j ACCEPT
sudo iptables -I INPUT -p tcp -s 18.162.46.5 -j ACCEPT
这会将这两个IP地址添加到白名单。
设置连接限制:接下来,添加一个新的规则,限制其他地址的连接数:
sudo iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 1000 -j REJECT
这将限制每分钟到端口80的新TCP连接数不超过500个。超过这个限制的连接将会被拒绝。
请注意,你需要将这些命令中的端口号(--dport 80
)替换为你的服务实际使用的端口号。
再次提醒,iptables的规则是按顺序执行的,因此确保你先添加白名单规则,再添加限制规则。因为一旦一个包匹配了一个规则并被接受(ACCEPT)或拒绝(REJECT),后续的规则就不会再应用到这个数据包上。
最后,别忘了保存你的iptables规则,这样在重启后才能保留这些设置。具体的保存方法取决于你的系统配置,一种常
用的方法是使用命令sudo iptables-save
。
设置ip并发数连接
sudo iptables -A INPUT -p tcp --syn --dport 80 -m conntrack --ctstate NEW -m connlimit --connlimit-above 500 -j REJECT
查看iptables传递所有过滤规则
查看iptables的所有限制规则
在Linux系统中,你可以使用以下命令来检查iptables的所有规则:
sudo iptables -L -n -v
在这个命令中:
-L
选项用于列出所有的iptables规则。-n
选项用于以数字形式显示地址和端口,这样可以防止iptables尝试解析它们,从而加快命令的执行。-v
选项用于显示详细的输出,包括规则的使用计数和规则的其他详细信息。
这个命令会显示iptables的所有链中的规则,包括INPUT
、OUTPUT
和FORWARD
链。每个规则都会在它所属的链中的一个特定位置,iptables会按照这个顺序来处理数据包。
除了上面的命令,你也可以使用以下命令来查看特定表的规则,比如filter
表(这是默认的表,用于过滤数据包):
sudo iptables -t filter -L -n -v
请注意,查看iptables规则通常需要管理员权限,因此你可能需要在命令前添加sudo
。
删除iptables规则
在iptables中,删除一个规则需要知道它在链中的位置或者完全匹配到该规则。首先,我们需要列出所有规则以找到你想要删除的规则的位置。
运行以下命令查看INPUT链中的所有规则及其行号:
sudo iptables -L INPUT --line-numbers -n
找到你想要删除的规则的行号,然后使用以下命令删除它:
sudo iptables -D INPUT <line_number>
将<line_number>
替换为你想要删除的规则的行号。
另外,你也可以通过匹配规则的方式删除特定的规则,就像这样:
sudo iptables -D INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 500 -j REJECT
这将会删除与提供的规则完全匹配的规则。请注意,在iptables中,规则的顺序很重要。当你添加新的规则时,它将被添加到链的末尾,或者如果使用了-I
选项,则会被插入到链的开头。当处理数据包时,iptables会从链的开头开始,匹配每一个规则,直到找到一个与数据包匹配的规则。