centos裡iptable的NAT

來源:互聯網
上載者:User

centos裡iptable的NAT

用centos5.3配nat死活都不行,參考N多配置方法都無濟於事。

覺得是作業系統那裡出了問題,又用了6.6,裡面有個配置的圖形引導介面,很容易就搞定了。

後來在英文網頁裡發現

echo "1" > /proc/sys/net/ipv4/ip_forward

這樣就可以了。尋找N多地方,終於知道這是在OS系統預設不轉寄流量的時候,強制轉寄的方法。

常態的讓系統轉寄需要修改設定檔。

/etc/sysctl.conf

裡面

net.ipv4.ip_forward = 1

不起作用是因為預設值是0,disable,換成1就是enable了。

sysctl -p

更新,當然重啟也可以。

chkconfig iptables on

常態開啟防火牆,作為服務。

然後才是/etc/sysconfig/iptables檔案的配置。

用添加命令也是實現,這裡eth0為外,eth1為內部

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

這就是內部上外部不做限制,這對於外網卡的IP地址為DHCP的時候很好用。

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 172.26.1.79

這是內部網192.168.1.0/24,到外部,替換源地址為172.26.1.79

讓外界訪問內部伺服器,比如說遠端桌面

iptables -t nat PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.2

-i eth0是進入的網卡,i是input的意思;-p tcp,協議是tcp;--dport 3389連接埠號碼是3389,--to-destination是內部伺服器的IP地址

僅僅是這些還不夠,上面是nat表,-t是指定table的,

在filter表裡也需要配置

iptables -t filter -A FORWARD -i eth0 -m state --state NEW -m tcp -p tcp -d 192.168.1.2 --dport 3389 -j ACCEPT

不在轉寄鏈路裡允許存取到內部的流量是不行的。為什麼這裡的-d是192.168.1.2,因為在前面的nat表裡PREROUTING已經進行了NAT路由,到達FORWARD處理流程的時候,目的地址已經從外網卡IP地址變成192.168.1.2,進入內網當然只能用內網IP地址過濾了。

還要轉寄一些流量許可

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
iptables -A FORWARD -o eth0 -j ACCEPT

不要用系統自己帶的那個防火牆圖形配置,一用就出RH-Firewall-1-INPUT,搞的自己都亂了。

另外用5.3速度很慢,遠端桌面接進去,畫面都不動,看了5.3預設封掉轉寄是有原因的。

用6.6就沒啥問題了,速度還可以接受。

下面是一些網路的配置命令

如果開始只有一個網卡,後來添加的,那麼只有

/etc/sysconfig/network-scripts/ifcfg-eth0

沒有ifcfg-eth1,可以複製ifcfg-eth0為ifcfg-eth1,然後修改裡面的內容。

需要去查看網卡硬體檔案

/etc/udev/rules.d/70-persistent-net.rules

確認裡面有新增加的網卡,記錄下mac地址,

DEVICE=eth1

NAME="System eth1"
HWADDR=00:50:56:A0:40:18
IPADDR=192.168.1.1
PREFIX=24
GATEWAY=
DNS1=
DOMAIN=

修改項,ip地址,掩碼,HWADDR就是mac地址,如果版本高,有UUID,改的和eth0不同就可以。

內網卡不設網關。PREFIX是首碼,和掩碼是一個意思,不同寫法。os版本不同,5的寫NETMASK,6就是PREFIX

iptables -F

清除預設表filter中的所有規則鏈的規則

iptables -X

清除預設表filter中使用者自定鏈中的規則

/etc/rc.d/init.d/iptables save 或者 service iptables save

儲存命令打進去的配置,不然重啟就沒了

service iptables restart

重啟服務

本文出自 “天才沒有那1%是萬萬不行的” 部落格,請務必保留此出處http://xushen.blog.51cto.com/1673219/1669784

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.