icmp をリモート コントロール スイッチとして使用する
ポート再利用チェーンを作成する
iptables -nvxL -t nat 查看端口复用链
iptables -t nat -N Port_multiplexing_chain 创建
トラフィックをポート 22 に転送するための以前のルールを作成します。
iptables -t nat -A Port_multiplexing_chain -p tcp -j REDIRECT --to-port 22
スイッチをオンにし、長さ 1139 の ICMP パケットを受信すると、letmein として追加されたリストに送信元 IP が追加されます。
[root@192 ~]# iptables -t nat -A Port_multiplexing_chain -p tcp -j REDIRECT --to-port 22
スイッチをオフにし、長さ 1140 の ICMP パケットを受信すると、送信元 IP が letmein リストから削除されます。
[root@192 ~]# iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1140 -m recent --name oupeng --remove -j ACCEPT
SYN パケットの送信元 IP が letmein リストにあることが判明した場合、処理のために LETMEIN チェーンにジャンプします。有効時間は 3600 秒です。
[root@192 ~]# iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name oupeng --rsource -j Port_multiplexing_chain
[root@192 ~]# iptables -nxvL -t nat
オンにする
┌──(root㉿killer)-[~]
└─# ping -c 1 -s 1111 192.168.247.137
PING 192.168.247.137 (192.168.247.137) 1111(1139) bytes of data.
1119 bytes from 192.168.247.137: icmp_seq=1 ttl=64 time=0.682 ms
--- 192.168.247.137 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.682/0.682/0.682/0.000 ms
┌──(root㉿killer)-[~]
└─#
閉鎖
┌──(root㉿killer)-[~]
└─# ping -c 1 -s 1112 192.168.247.137
PING 192.168.247.137 (192.168.247.137) 1112(1140) bytes of data.
1119 bytes from 192.168.247.137: icmp_seq=1 ttl=64 time=0.349 ms
--- 192.168.247.137 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.349/0.349/0.349/0.000 ms
リモートコントロールスイッチとしてのTCPプロトコル
再利用チェーンを作成する
ポート再利用ルール port22
[root@192 ~]# iptables -t nat -N LETMEIN
[root@192 ~]# iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22
オンオフ
[root@192 ~]# iptables -A INPUT -p tcp -m string --string 'zhimakaimen' --algo bm -m recent --set --name letmein --rsource -j ACCEPT
[root@192 ~]# iptables -A INPUT -p tcp -m string --string ‘baga’ --algo bm -m recent --name letmein --remove -j ACCEPT