Gok*_*kul 4 firewall iptables centos netstat
我们有两个应用程序在运行(在 linux 之上)并且都通过端口 42605 进行通信。我想快速验证这是否是用于它们之间通信的唯一端口。我尝试了以下规则,但似乎不起作用。所以,只是想澄清一下,如果我做错了。
以下是我运行的命令序列
iptables -I INPUT -j REJECT
iptables -I INPUT -p tcp --dport 42605 -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT
iptables -I OUTPUT -p tcp --dport 42605 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
因此,由于我正在插入它,因此它将以相反的顺序添加。
我想允许来自和到 42605 的传入和传出通信。上述规则看起来不错还是我做错了?
另一个问题,这是否是测试的正确方法,或者我应该使用“netstat”命令来查看哪个端口与另一个 ip 建立了连接?
我们可以使 INPUT 策略丢弃以阻止所有内容并仅允许特定端口
# allow established sessions to receive traffic
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# allow your application port
iptables -I INPUT -p tcp --dport 42605 -j ACCEPT
# allow SSH
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
# Allow Ping
iptables -A INPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# allow localhost
iptables -A INPUT -i lo -j ACCEPT
# block everything else
iptables -A INPUT -j DROP
Run Code Online (Sandbox Code Playgroud)
另一个问题,这是否是测试的正确方法,或者我应该使用“netstat”命令来查看哪个端口与另一个 ip 建立了连接?
是的,您可以检查netstat -antop | grep app_port
,也可以使用 strace :
strace -f -e trace=network -s 10000 PROCESS ARGUMENTS
Run Code Online (Sandbox Code Playgroud)
要使用已知 pid 监视现有进程:
strace -p $( pgrep application_name) -f -e trace=network -s 10000
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13699 次 |
最近记录: |