溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux的ip6tables命令怎么使用

發(fā)布時(shí)間:2022-02-09 09:19:36 來源:億速云 閱讀:212 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“Linux的ip6tables命令怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux的ip6tables命令怎么使用”吧!

Linux常用命令ip6tables命令 和iptables一樣,都是linux中防火墻軟件,不同的是ip6tables采用的TCP/ip協(xié)議為IPv6。

Linux的ip6tables命令怎么使用

ip6tables

linux中防火墻軟件

語法

 ip6tables(選項(xiàng))

選項(xiàng)

 -t:指定要操縱的表;
 -A:向規(guī)則鏈中添加條目;
 -D:從規(guī)則鏈中刪除條目;
 -i:向規(guī)則鏈中插入條目;
 -R:替換規(guī)則鏈中的條目;
 -L:顯示規(guī)則鏈中已有的條目;
 -F:清楚規(guī)則鏈中已有的條目;
 -Z:清空規(guī)則鏈中的數(shù)據(jù)包計(jì)算器和字節(jié)計(jì)數(shù)器;
 -N:創(chuàng)建新的用戶自定義規(guī)則鏈;
 -P:定義規(guī)則鏈中的默認(rèn)目標(biāo);
 -h:顯示幫助信息;
 -p:指定要匹配的數(shù)據(jù)包協(xié)議類型;
 -s:指定要匹配的數(shù)據(jù)包源ip地址;
 -j:指定要跳轉(zhuǎn)的目標(biāo);
 -i:指定數(shù)據(jù)包進(jìn)入本機(jī)的網(wǎng)絡(luò)接口;
 -o:指定數(shù)據(jù)包要離開本機(jī)所使用的網(wǎng)絡(luò)接口。
 -c:在執(zhí)行插入操作(insert),追加操作(append),替換操作(replace)時(shí)初始化包計(jì)數(shù)器和字節(jié)計(jì)數(shù)器。

實(shí)例

在命令行窗口輸入下面的指令就可以查看當(dāng)前的 IPv6 防火墻配置:

 ip6tables -nl --line-numbers

/etc/sysconfig/ip6tables文件

使用編輯器編輯/etc/sysconfig/ip6tables文件:

 vi /etc/sysconfig/ip6tables

可能會看到下面的默認(rèn) ip6tables 規(guī)則:

 *filter
 :INPUT accept [0:0]
 :FORWARD ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
 :RH-Firewall-1-INPUT - [0:0]
 -A INPUT -j RH-Firewall-1-INPUT
 -A FORWARD -j RH-Firewall-1-INPUT
 -A RH-Firewall-1-INPUT -i lo -j ACCEPT
 -A RH-Firewall-1-INPUT -p icmpv6 -j ACCEPT
 -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
 -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
 -A RH-Firewall-1-INPUT -p udp --dport 5353 -d ff02::fb -j ACCEPT
 -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
 -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
 -A RH-Firewall-1-INPUT -p udp -m udp --dport 32768:61000 -j ACCEPT
 -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 32768:61000 ! --syn -j ACCEPT
 -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 22 -j ACCEPT
 -A RH-Firewall-1-INPUT -j reject --reject-with icmp6-adm-prohibited
 COMMIT

與 IPv4 的 iptables 規(guī)則類似,但又不完全相同。

要開啟 80 端口(HTTP 服務(wù)器端口),在 COMMIT 一行之前添加如下規(guī)則:

 -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT

-p tcp表示僅針對 tcp 協(xié)議的通信。--dport指定端口號。

要開啟 53 端口(DNS 服務(wù)器端口),在 COMMIT 一行之前添加如下規(guī)則:

 -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 53 -j ACCEPT
 -A RH-Firewall-1-INPUT -m udp -p tcp --dport 53 -j ACCEPT

同時(shí)針對 tcp 和 udp 協(xié)議開啟 53 端口。

要開啟 443 端口,在 COMMIT 一行之前添加如下規(guī)則:

 -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 443 -j ACCEPT

要開啟 25 端口(SMTP 郵件服務(wù)器端口),在 COMMIT 一行之前添加如下規(guī)則:

-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 25 -j ACCEPT

對于那些沒有特定規(guī)則與之匹配的數(shù)據(jù)包,可能是我們不想要的,多半是有問題的。我們可能也希望在丟棄(DROP)之前記錄它們。此時(shí),可以將最后一行:

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp6-adm-prohibited
COMMIT

改為:

-A RH-Firewall-1-INPUT -j LOG
-A RH-Firewall-1-INPUT -j DROP
COMMIT

保存并關(guān)閉該文件。然后重新啟動(dòng) ip6tables 防火墻:

# service ip6tables restart

然后重新查看 ip6tables 規(guī)則,可以看到如下所示的輸出:

# ip6tables -vnL --line-numbers

輸出示例:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1    42237 3243K RH-Firewall-1-INPUT  all      *      *       ::/0                 ::/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 RH-Firewall-1-INPUT  all      *      *       ::/0                 ::/0
Chain OUTPUT (policy ACCEPT 12557 packets, 2042K bytes)
num   pkts bytes target     prot opt in     out     source               destination
Chain RH-Firewall-1-INPUT (2 references)
num   pkts bytes target     prot opt in     out     source               destination
1        6   656 ACCEPT     all      lo     *       ::/0                 ::/0
2    37519 2730K ACCEPT     icmpv6    *      *       ::/0                 ::/0
3        0     0 ACCEPT     esp      *      *       ::/0                 ::/0
4        0     0 ACCEPT     ah       *      *       ::/0                 ::/0
5      413 48385 ACCEPT     udp      *      *       ::/0                 ff02::fb/128       udp dpt:5353
6        0     0 ACCEPT     udp      *      *       ::/0                 ::/0               udp dpt:631
7        0     0 ACCEPT     tcp      *      *       ::/0                 ::/0               tcp dpt:631
8      173 79521 ACCEPT     udp      *      *       ::/0                 ::/0               udp dpts:32768:61000
9        0     0 ACCEPT     tcp      *      *       ::/0                 ::/0               tcp dpts:32768:61000 flags:!0x16/0x02
10       0     0 ACCEPT     tcp      *      *       ::/0                 ::/0               tcp dpt:22
11       0     0 ACCEPT     tcp      *      *       ::/0                 ::/0               tcp dpt:80
12       0     0 ACCEPT     tcp      *      *       ::/0                 ::/0               tcp dpt:53
13    4108  380K ACCEPT     udp      *      *       ::/0                 ::/0               udp dpt:53
14      18  4196 REJECT     all      *      *       ::/0                 ::/0

IPv6 私有 IP

IPv4 通常默認(rèn)即可保護(hù)內(nèi)部局域網(wǎng)私有 IP 上的主機(jī)。但是 IPv6 的地址非常豐富,不再需要使用類似 NAT 等協(xié)議的私有網(wǎng)絡(luò)。這樣一來,所有的內(nèi)部主機(jī)都可以擁有公網(wǎng) IP 而直接連接到互聯(lián)網(wǎng),也就同時(shí)暴露于互聯(lián)網(wǎng)上的各種威脅之中了。那么,如何配置 IPv6 防火墻使其默認(rèn)將除了 ping6 請求之外的所有輸入數(shù)據(jù)包都丟棄呢?可以使用FC00::/7 前綴來標(biāo)識本地 IPv6 單播地址。

允許特定的 ICMPv6 通信

使用 IPv6 的時(shí)候需要允許比 IPv4 更多類型的 ICMP 通信以保證路由和 IP 地址自動(dòng)配置等功能正常工作。有時(shí)候,如果你的規(guī)則設(shè)置太過苛刻,可能都無法分配到正確的 IPv6 地址。當(dāng)然,不使用 DHCP 而是手動(dòng)配置 IP 地址的除外。

下面是一些比較常見的 ipv6-icmp 配置實(shí)例:

:ICMPv6 - [0:0]
# Approve certain ICMPv6 types and all outgoing ICMPv6
# http://forum.linode.com/viewtopic.php?p=39840#39840
-A INPUT -p icmpv6 -j ICMPv6
-A ICMPv6 -p icmpv6 --icmpv6-type echo-request -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type destination-unreachable -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type packet-too-big -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type time-exceeded -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type parameter-problem -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type router-solicitation -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type router-advertisement -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type neighbour-solicitation -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type neighbour-advertisement -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type redirect -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 141 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 142 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 148 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 149 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 130 -s fe80::/10 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 131 -s fe80::/10 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 132 -s fe80::/10 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 143 -s fe80::/10 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 151 -s fe80::/10 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 152 -s fe80::/10 -j ACCEPT
-A ICMPv6 -p icmpv6 --icmpv6-type 153 -s fe80::/10 -j ACCEPT
-A ICMPv6 -j RETURN
-A OUTPUT -p icmpv6 -j ACCEPT

感謝各位的閱讀,以上就是“Linux的ip6tables命令怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Linux的ip6tables命令怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI