1. 程式人生 > >2018-1-25 Linux學習筆記[重要]

2018-1-25 Linux學習筆記[重要]

related tput for 腳本 直接 網卡 lte iptable p地址

10.15 iptables filter表案例

iptables filter表小案例
實現放行21,80端口和對源IP屬於133.168.133.0的IP段請求放行22端口:
vi /usr/local/sbin/iptables.sh //加入如下內容
#! /bin/bash
ipt="/usr/sbin/iptables"
$ipt -F #清空之前的規則(filter表)
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORDARD ACCEPT
$ipt -A INPUT -m stat --state RELATED,ESTABLISHED -j ACCEPT #放行狀態為RELATED,ESTABLISHED的請求

$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT


備註:
上述腳本第7行要加RELATED的原因是客戶端和服務端建立了連接後,還有一些額外連接需要建立,這時狀態就變成了
RELATED,為了能通信不受到影響,所以此處需加上RELATED.


icmp示例:
實現本機能ping通其他機器,但其他機器不能ping通本機:
iptables -I INPUT -p icmp --icmp -type 8 -j DROP

10.16/10.17/10.18 iptables nat表應用

實驗背景:
A機器兩塊網卡ens33(192.168.133.130),ens37(192.168.100.1),ens33可以上外網,ens37僅僅是內部網絡,B機器只有
ens37(192.168.100.100),和A機器ens37可以通信互連.

* 需求1: 讓B機器可以連接外網
(1)A機器上打開路由轉發(1表示打開路由轉發,默認為0,關閉狀態)
echo "1" > /proc/sys/net/ipv4/ip_forward
(2)A機器上執行
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

(3)B機器上設置網關為192.168.100.1

* 需求2: C機器只能和A通信,讓C機器可以直接連通B機器的22端口
(1)A機器上打開路由轉發(1表示打開路由轉發,默認為0,關閉狀態)
echo "1" > /proc/sys/net/ipv4/ip_forward
(2)A機器上執行
iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130
(3)B機器上設置網關為192.168.100.1


備註:

  1. 用ifconfig臨時給網卡分配IP地址(重啟後失效,若想永久生效則需更改配置文件)
    語法: ifconfig 網卡名 IP地址/24, 例如:
    ifconfig ens37 192.168.1.100/24
  2. 設置網關
    語法: route add default gw IP地址,例如:
    route add default gw 192.168.100.1

2018-1-25 Linux學習筆記[重要]